- 질문 게시판입니다.
Date 23/08/11 17:24:14
Name   ㅢㅘㅞ
Subject   짧은 길이 데이터에 대한 무결성 보장을 위한 문의
8~16 Bytes에 대한 무결성을 보장하려 합니다.
무결성 데이터를 가능하면 최소 길이와 최소 연산력으로 해결하려고 합니다.
이 부분에 대한 요건이나 가이드 같은 것이 있을까요?

환경이 구려서 bit flip이 2회이상 발생할 수도 있습니다 :(



1


아침커피
뻘플입니다만 =_= 최대 8바이트이면 int64형 변수 정도의 크기로 보이는데 그냥 두 번 전송한 뒤에 두 값이 같은지 다른지를 보는 방법은 안 되려나요? 예를 들어 A가 1차 전송, B가 2차 전송일 때 A == B 이면 통과, A != B 이면 3차로 C를 전송한 후 A == C 이면 A값을, B == C 이면 B 값을 사용하는 방식을 생각해 보았습니다 ㅎ
ㅢㅘㅞ
nvm <-> ram 저장, 복원인데요 저장, 복원 모두 hw를 신뢰할 수 없는 상황이 극히 드물게 있어 sw레벨에서 보완을 해야 합니다!
ecc는 미지원이라고 생각해야할 것 같슴다
그런데
이론적으로야 틀리기 시작하면 얼마가 되어도 답은 없겠지요.
확률의 문제이니 데이터의 크기가 작은 대신 반드시 올바른 값을 가져야 한다면
동일한 샘플을 여러 개 저장하는 것이 현실적일 것 같습니다.
전에 무선오디오 만들 때 무조건 7번씩 전송하던 걸 본 적이 있습니다.
2
여러번 보내는 방법만으론 같은 오류가 여러번 날 확률이 0이 아니니 패리티 코드도 있어야 하겠네요.
X = [u32;4];
C = [X[0]^X[1], X[2]^X[3], X[0]^X[2], X[1]^X[3]];
로 해서 받는쪽에서 C를 검증하시면 bitflip 2회까진 버틸겁니다.

아니면 그냥 C = [X[0]^X[1]^X[2]^X[3], X[0]^X[1]^X[2]^X[3]] 하셔도 2회 버티기는 합니다.
그런데
좀 더 생각해 봤는데
통신 프로토콜이나 하드웨어에 따라 특정 번째 bit가 깨지거나 하는 경우가 있을 수 있으므로
data를 n bit shift한 것을 여러 번 보내어
받는 쪽에서 원상복귀한 후 비교하는 식으로 접근할 수 있겠습니다.
이때 n 값은 소수로 하면 중복하여 깨지는 bit가 겹치는 것을 피할 수 있습니다.
보통 ICV를 생성하는 방법은 특정 패턴에 따라 seed를 만들고 그걸 XOR하는 방식인데
그러면 0이나 1로 값이 고정되는 경향이 있을 때 검출이 용이해집니다.
따라서 bit shift, 다양한 패턴 ... 더 보기
좀 더 생각해 봤는데
통신 프로토콜이나 하드웨어에 따라 특정 번째 bit가 깨지거나 하는 경우가 있을 수 있으므로
data를 n bit shift한 것을 여러 번 보내어
받는 쪽에서 원상복귀한 후 비교하는 식으로 접근할 수 있겠습니다.
이때 n 값은 소수로 하면 중복하여 깨지는 bit가 겹치는 것을 피할 수 있습니다.
보통 ICV를 생성하는 방법은 특정 패턴에 따라 seed를 만들고 그걸 XOR하는 방식인데
그러면 0이나 1로 값이 고정되는 경향이 있을 때 검출이 용이해집니다.
따라서 bit shift, 다양한 패턴 XOR 등으로 여러 벌을 보내고
이를 받는 쪽에서 원복한 후
해당 여러 소스를 비교하여 높은 확률인 bit를 채택하는 등을 생각해 볼 수 있겠습니다.
T.Robin
고전적인 접근입니다만, CRC check를 고려해볼 수 있을 것 같습니다.

아니면, 32비트 FNV Hash를 데이터 뒤에 붙여서 확인해 보시면 어떨까 합니다.
http://www.isthe.com/chongo/tech/comp/fnv/index.html

딱히 측정은 안 해봤습니다만, 계산식의 복잡성만 따지고 보면 FNV hash가 CRC보다 더 가볍지 않을까...... 싶습니다.
보이차
재미있는 주제네요. 기본적으로는 소프트웨어단에서 crc 등을 구현하고 여러벙 확인하는 방법밖에 없지 않나 싶읍니다
목록
번호 제목 이름 날짜 조회 추천
15438 의료/건강어머님이 아프시네요. 16 [익명] 23/12/08 2162 1
15392 가정/육아김 추천 해 주십시오 8 camy 23/11/16 2232 1
15376 진로어떻게 해야 꾸준히 공부하기 좋을까요? 14 blu 23/11/13 2358 1
15199 법률꽤 크게 교통사고를 당했습니다. 어떻게 해야할까요? 12 원금복구제발ㅠㅠ 23/09/10 2950 1
15193 여행큐슈에서는 어떤 음식을 먹으면 좋나요? 22 거소 23/09/07 2575 1
15181 기타보안경을 추천받고 싶습니다 4 ㅢㅘㅞ 23/09/01 1998 1
15176 기타작별 선물로 뭐가 좋을까요? 4 어둠달골짜기 23/08/30 2846 1
15126 IT/컴퓨터짧은 길이 데이터에 대한 무결성 보장을 위한 문의 8 ㅢㅘㅞ 23/08/11 2140 1
15094 의료/건강왼쪽 눈아래가 부르르 떨립니다.(경련) 어느 병원에 가야 할까요? 11 Picard 23/07/30 2923 1
15081 체육/스포츠바둑의 승패를 알려주세요 12 Bluehour 23/07/26 2945 1
15067 기타회사생활 - 이럴때는 어떻게 마음을 다스리나요? 12 풀잎 23/07/23 3734 1
15031 체육/스포츠체력을 기르는 방법 37 Finboy 23/07/14 3545 1
14994 기타진짜 발톱 부끄러워요..... 26 리사이쿨 23/07/04 3723 1
14991 의료/건강정신과 진료를 받을까 생각중입니다. 15 카리나남편 23/07/03 3294 1
14906 가정/육아가족의 연을 끊어야 할지 고민입니다. 15 휴리스틱 23/06/08 4047 1
15206 여행교토 맛집, 카페, 선물 추천 7 제루샤 23/09/12 2317 1
14845 진로엔지니어로서 성장하고 기회를 얻으려면 어떻게 해야할까요? 8 경제학도123 23/05/24 2855 1
14814 의료/건강요즘도 마스크 쓰는게 좋을까요 6 힘찬마켓 23/05/15 3109 1
14706 문화/예술몽글몽글한 색감을 지닌 작품 추천 받읍니다. 23 설탕 23/04/15 2939 1
14600 기타미국 외에 다른 나라도 집안에서 신발을 신고 사는지요? 2 홍당무 23/03/19 3739 1
14593 경제대형 광고에 대한 효과를 어떻게 계산하나요? 8 ㅢㅘㅞ 23/03/17 2447 1
14592 진로박사유학 자금확보 문제로 고민이 많습니다 15 카르스 23/03/17 2399 1
14572 IT/컴퓨터유튜브 업로드용 저렴이 카메라 있을까요 8 쥬꾸미 23/03/11 2895 1
15142 문화/예술하이볼 레시피 좀 알려주십시오 19 먹이 23/08/18 1875 1
14499 연애연애 전반에 관련한 질문입니다. 26 아이스 커피 23/02/18 2437 1
목록

+ : 최근 2시간내에 달린 댓글
+ : 최근 4시간내에 달린 댓글

댓글
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기
회원정보 보기
닫기