재미있게도 DCPU-16 (게임 0x10c의 허구의 CPU)에 대한 어셈블리에서 스트림 암호를 쓰고 있습니다. 프로세서는 16 비트 레지스터 만 가지고 있으며 100 Khz로 실행됩니다. 그러나 지금은 메모리 액세스와 곱셈과 나눗셈과 같은 일이 아주 빨라요 (두 개의 간접 메모리 액세스를 사용하는 경우에만 5 사이클이 소요됩니다).DCPU-16에 대한 스트림 암호를 작성하는데, 제한 사항에 초점을 맞추어야합니까?
이러한 종류의 제약 조건을 사용하면 최선의 선택은 무엇입니까? RC4를 고려하고 있었지만 다른 사람들이 내 코드를 올바르게 사용하지 않을 것이고 WEP 재해가 발생할 수도 있습니다. 다른 프로그래머를 보호하기 위해 RC4보다 복잡한 작업이 필요할 것입니다. 그러나 마술 숫자 나 사전 계산 된 테이블을 사용하는 알고리즘은 16 비트 단어 대신 최소 단위로 8 비트를 예상합니다.
* "내 코드를 사용하는 다른 사람들이 올바르게 사용하지 않아 다른 WEP 재해가 발생할 수 있다는 우려가 있습니다."- 이는 모든 암호에 해당합니다. –
흠, 그건 사실입니다. @ BlueRaja-DannyPflughoeft는 답변으로 귀하의 의견과 비슷한 것을 적어 주시면 답변을 드릴 것입니다. –