- 질문 게시판입니다.
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 등을 구현하고 여러벙 확인하는 방법밖에 없지 않나 싶읍니다
목록
번호 제목 이름 날짜 조회 추천
15192 기타서울대입구 에그옐로우 부활 가능성? 7 ㅢㅘㅞ 23/09/07 3728 1
15191 기타22일에 처음으로 포장이사 합니다 27 swear 23/09/06 2520 0
15190 체육/스포츠퍼즐 매트 가장 저렴하게 구입할 방법이 뭘까요? 6 메존일각 23/09/06 2150 0
15189 경제전세자금대출 질문이요.. 11 침묵의공처가 23/09/06 2710 0
15188 의료/건강하체살 빼기 좋은 운동과 식단은 없을까요? 6 [익명] 23/09/04 2516 0
15187 IT/컴퓨터블랙박스에는 꼭 MLC/SLC를 써야할까요? 6 DogSound-_-* 23/09/04 2376 0
15186 기타바질, 민트 키우는 것에 대해 조언을 구합니다. 13 나루 23/09/03 2740 0
15185 기타실험실 업적을 모두 다 채우면 뭔가 사은품이라도?? 10 뉴스테드 23/09/03 2578 0
15184 기타호감녀에 대한 질문 올려봅니다. 24 루카와 23/09/02 4298 0
15183 기타AI 관련해서 구현하고 싶은게 있는데요 5 copin 23/09/01 2562 0
15182 기타삼국지 번역본(?) 추천 좀 부탁드려요 25 봄과여름 23/09/01 3738 0
15181 기타보안경을 추천받고 싶습니다 4 ㅢㅘㅞ 23/09/01 2038 1
15179 여행제주도 중문 할거리 6 Beemo 23/08/30 2396 0
15178 여행추석때 영국여행 가는데 꿀팁 있으시면 공유부탁드립니다. 17 가이브러시 23/08/30 2521 0
15177 여행이태리 기차예매 질문 하나 드립니다. 4 산타는옴닉 23/08/30 1737 0
15176 기타작별 선물로 뭐가 좋을까요? 4 어둠달골짜기 23/08/30 2940 1
15175 진로불경력 사기업vs물경력 소규모 협회 주니어는 어떤 게 나을까요? 18 김바다 23/08/30 2831 0
15174 기타회사 친한 직원들과 회식을 하려 합니다. 7 큐리스 23/08/29 3002 0
15172 기타이게 뭔지 아시는 분? 9 엄마곰도 귀엽다 23/08/29 2636 0
15171 IT/컴퓨터gmsh 프로그램에서 곡면 설정이 왜 안될까요? 3 레디미르 23/08/29 2167 0
15170 여행오키나와 다녀오신분들께 질문드립니다. 3 쉬군 23/08/28 2258 0
15169 문화/예술클래식 곡의 제목을 찾고 싶습니다.(완료~) 2 별길 23/08/28 2134 0
15168 진로차/부장급 이직 면접 조언 부탁드립니다. (외국계) 6 Picard 23/08/28 3387 0
15167 기타쿠팡 로켓와우 질문입니다 6 김치찌개 23/08/28 2277 0
15166 의료/건강피부가 자주 발진이 생가는데요 2 스톤위키 23/08/27 2237 0
목록

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

댓글