랜덤 액세스 모드 (파일의 일부에 액세스)에서 작동 할 수 있어야하는 AES를 기반으로 파일 암호화를 구축 중입니다. 예를 들어 Counter의 AES를 사용할 수는 있지만 두 번 사용하지 않은 고유 한 시퀀스가 필요하다는 것은 잘 알려져 있습니다. 이 경우 단순화 된 Fortuna PRNG를 사용할 수 있습니까 (특정 파일에 고유하게 임의로 선택된 고유 키로 카운터 암호화). 이 접근법에는 약점이 있습니까?Fortuna PRNG를 사용하여 AES In Counter 모드로 랜덤 액세스 암호화 :
그래서 암호화/암호 해독 오프셋에서 블록의
암호화처럼 보일 수 있습니다 블록의
rndsubseq = AESEnc(Offset, FileUniqueKey)
xoredplaintext = plaintext xor rndsubseq
ciphertext = AESEnc(xoredplaintext, PasswordBasedKey)
암호 해독 오프셋에서 :
rndsubseq = AESEnc(Offset, FileUniqueKey)
xoredplaintext = AESDec(ciphertext, PasswordBasedKey)
plaintext = xoredplaintext xor rndsubseq
한 관찰. 나는 Fortuna에서 혼자서 사용 된 아이디어에 도달했고, 나중에 그것이 이미 발명되었다는 것을 확실히 발견했다. 그러나 내가 읽는 모든 곳에서 보안에 대한 핵심 포인트가 있지만, 좋은 지적이 있습니다. 즉, (랜덤 액세스 방식의) 의사 난수 생성기로 말하면서 (단순화 된 형태로) 말입니다. 그래서 PRNG는 아주 좋은 시퀀스를 생성 할뿐만 아니라 (Ent와 Die Hard로 테스트했습니다.) 또한 단계 번호를 알고 있으면 하위 시퀀스에 액세스 할 수 있습니다. 그래서 Fortuna를 보안 응용 프로그램에서 "임의 액세스"PRNG로 사용하는 것이 일반적입니까?
는 편집 : 즉
은, 내가 제안하는 랜덤 액세스 기능이있는 tweakable AES 암호화를 형성하는 팅겨으로 포르투나 PRNG를 사용하는 것입니다. Liskov, Rivest 및 Wagner의 작업을 읽었지 만 조작 모드의 암호와 조정할 수있는 암호의 주요 차이점을 이해할 수 없었습니다. 그들은 암호 자체 내부에서 높은 수준에서이 접근법을 가져올 것을 제안했지만, 예를 들어 비틀어 짐으로 일반 텍스트를 꾸미는 경우와 같이 이것이 비틀기인지 아닌지 여부
이미 (디스크 암호화 이론) 기사를 읽었지 만 여기서 언급하는 것이 좋습니다 (+1). 방금 조정할 수있는 블록 암호에 대한 문서를 읽고 게시물을 편집합니다. – Maksee