답변:
비밀번호 (PIN)를 암호화하지 않고 해시 를 원합니다 . 누군가 비밀번호를 입력하면 해당 비밀번호를 해시하고 저장된 해시와 해시를 비교합니다. 이 방법 (30 년 이상 사용)의 장점은 누군가가 소스와 해시를 파악하더라도 충분히 강력한 해시 함수 를 선택하는 한 해시와 일치하는 PIN을 알 수 없다는 것 입니다.
암호화를 직접 구현하고 싶지는 않습니다. 다른 사람의 라이브러리, 특히 대규모 커뮤니티에서 테스트 한 공개 구현 라이브러리를 사용하고 싶습니다. 암호화는 어렵고 테스트는 어렵고 암호화 테스트는 어렵 기 때문에 다른 사람이 대신 해 줄 수 있습니다.
GPLv3에 라이센스 된 AVR Crypto Library를 체크 아웃해야합니다 . Skein for AVR 구현도 있습니다 .
Hristos가 게시 한 링크는 유용하지만 아마도 "암호화"로 간주되지는 않습니다. 실제로는 "난독 화"일뿐입니다.
수학을 아는 사람들에게조차도 올바른 암호화는 잘못되기 쉽다는 악명이 높습니다.
원래 게시물에 대한 응답으로 누군가 EEProm의 PIN에 액세스 할 수있는 공격 방법은 무엇입니까? 확실히 그들이 당신의 전자 제품에 그렇게 먼 경우에, 그들은 "빨간 철사를 자르고"문을 열 수 있습니까?
어떻게 든 경우 어떻게 공격자가 이미 문을 열어 충분히 접근을하지 않고은 eeprom 내용 잡아 수있는 시스템을 가지고, 당신은 아마 그것을 재 설계하고자합니다. 유닉스 암호 해싱과 비슷한 단방향 해시 기능을 볼 수 있습니다 .EEProm에 해독 키가 필요하지 않습니다. 문제는 PIN의 검색 공간이 매우 작다는 것입니다. 해시 버전의 해시 버전을 다운로드 할 수 있다면 PIN, 10,000 개의 가능한 PIN을 모두 빠르게 시도 할 수 있습니다. 현대의 모든 랩톱이 몇 초 안에 모든 PIN을 실행할 것이라고 생각합니다.
다음 은 C에서 간단한 암호화 방법으로 Arduino로 쉽게 포팅 할 수 있습니다. 이것은 arduino의 제한된 리소스로 데이터를 암호화하는 가장 쉬운 방법 인 것 같습니다.
-편집-프로그램에서 키를 유지하려면 PIN의 절반을 키로 만들 수 있습니다. 이는 프로그램이 PIN의 키 절반을 EEProm에 저장된 암호화 된 1/2 PIN을 해독하는 것을 의미합니다. EEProm의 암호 해독 된 키가 키가 아닌 핀 부분과 일치하면 도어가 잠금 해제됩니다. 이는 침입자가 문을 무너 뜨리거나 Arduino를 다시 프로그래밍 할 수없는 상황에서만 작동합니다.
나는 다른 질문을하면서 질문에 대답하는 것이 싫지만 ...
장치가 변조 방지되지 않은 이유가 있습니까? 나는 당신이 걱정하는 탬 퍼링의 종류를 감지하기 위해 '벤치에'나사 구멍에 푸시 버튼 스위치를 보았습니다. 그런 다음 .. 여기에는 아이를 풀지 않고 칩을 가져 오는 부탄 마이크로 토치가 있습니다 (또는 칩을 손상시키지 않습니다). 주변 광 및 / 또는 소리. 덮개가 벗겨지면 낮과 밤이 완전히 달라집니다.
이 경우 노출 된 부분이 암호화가 더 쉽게 구현되는 대상과 통신하는 두 부분으로 구성된 시스템이어야합니다. 또한, 체크섬 (도움말)은 토치가있는 아이를 설명합니다.
나는 당신이 망치를 망치로 요구하고 있다고 생각합니다.
이 의견은 실제로 발견되었습니다. 암호화에 대해 배우려고 실험하는 데 아무런 문제가 없지만 이것은 실제로 그러한 것들을 배우기에 좋은 프로젝트는 아닙니다. 당신은 정말 좋은 교과서와 컴퓨터를 원하고 @bigiain이 말했듯이 수학은 잘못되기 쉽다는 악명 높은 일입니다.
암호화가 어떻게 작동하고 무엇에 반대하는지 더 잘 이해하려면 Applied Cryptography 핸드북 은 훌륭하고 무료입니다.
프로젝트를 보호하려는 경우 비효율적 인 방법입니다. 암호화에 관심이 있다면이 책과 컴퓨터로 시작하십시오.