- 질문 게시판입니다.
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 등을 구현하고 여러벙 확인하는 방법밖에 없지 않나 싶읍니다
목록
번호 제목 이름 날짜 조회 추천
15254 IT/컴퓨터가로로 길쭉한 모니터 쓰시는분 계십니까! 9 어둠달골짜기 23/09/28 3017 0
15251 IT/컴퓨터gitlab 관련 문의 2 [익명] 23/09/27 2305 0
15246 IT/컴퓨터아이폰 15 해외 구매 질문 2 심해냉장고 23/09/26 2243 0
15241 IT/컴퓨터포맷 중인데 이게 뭘까요 ? 7 박지운 23/09/24 3200 0
15228 IT/컴퓨터시놀로지 NAS hdd 복구 방법 문의 3 jobdescription 23/09/20 2268 0
15225 IT/컴퓨터인터넷 속도가 이상(?)한 것 같습니다 3 John Petrucci 23/09/18 2189 0
15221 IT/컴퓨터쿠키를 수정 가능한 미디어 플레이어? 30 매뉴물있뉴 23/09/17 3255 0
15219 IT/컴퓨터윈11 explorer patcher 를 대체할 수 있는 어플리케이션? 6 메존일각 23/09/16 2184 0
15212 IT/컴퓨터PC가 죽었슴다... 6 박지운 23/09/14 2328 0
15203 IT/컴퓨터데스크탑 및 모니터 관련 문의 wwe13kane 23/09/12 1924 0
15197 IT/컴퓨터PC가 안 되는데 문제가 뭘까요. 11 박지운 23/09/09 2282 0
15187 IT/컴퓨터블랙박스에는 꼭 MLC/SLC를 써야할까요? 6 DogSound-_-* 23/09/04 2318 0
15171 IT/컴퓨터gmsh 프로그램에서 곡면 설정이 왜 안될까요? 3 레디미르 23/08/29 2118 0
15165 IT/컴퓨터아이폰 문의 드립니다 3 ㅢㅘㅞ 23/08/27 1958 0
15156 IT/컴퓨터애플워치 기기 선택 질문입니다. 10 아저씨무시하지마 23/08/23 2651 0
15153 IT/컴퓨터SKB 인터넷+TV 괜찮나요? 8 물냉과비냉사이 23/08/22 2062 0
15149 IT/컴퓨터랩탑 사서 목요일 새벽에 출국가능할까요..? 9 even&odds 23/08/20 2374 0
15138 IT/컴퓨터일본 여행 시 휴대폰 충전 관련 문의드립니다.(아이폰 충전기) 6 Yossi 23/08/15 5448 0
15137 IT/컴퓨터애플 라이트닝 이어폰 8핀->오디오 변환 잭은 어떻게 찾으면 될까요? 15 다람쥐 23/08/15 3618 0
15136 IT/컴퓨터주님, 오늘도 정의로운 도둑이 되는 것을 허락해주세요 6 ㅢㅘㅞ 23/08/14 2576 0
15135 IT/컴퓨터에버노트와 유사한 메모 프로그램이 있을까요? 12 눈사람 23/08/14 1957 0
15130 IT/컴퓨터하드디스크를 샀는데 인식을 어중간하게 하는거 같읍니다. 5 카리나남편 23/08/12 2453 0
15126 IT/컴퓨터짧은 길이 데이터에 대한 무결성 보장을 위한 문의 8 ㅢㅘㅞ 23/08/11 2128 1
15125 IT/컴퓨터imgur 말고 뭐 써야 하나요? 14 *alchemist* 23/08/11 2667 0
15118 IT/컴퓨터이동전화기 추천받습니다 31 T.Robin 23/08/09 2798 0
목록

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

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