可以在 1900 的機電機器中實現 AES 嗎?
AES可以在20世紀初的機電機器中實現嗎?
特別是那個時代的任何機器
- 有能力實現面向字節的 S-Box,或者實現優化的基於字的 S-Box,以更少的步驟計算 SubBytes 和 MixColumn?
- 是否有能力在機器可用的記憶體(或儲存)中執行 ShiftRows?
- 是否有足夠的記憶體來載入整個程序來執行密鑰調度擴展、正向密碼和可選的逆向密碼?
而且,這種實現的估計吞吐量是多少?
是的,我相信你可以,但你真的不想這樣做。我會說一個人可以僅基於機械步進創建一台SPN機器,但它會很大。終於有人創造了 Babbage 的差異引擎,所以假設你可以做類似的事情並不是一個很大的步驟。當然,也有十六進制對這個討論不太方便。
相信這台機器最困難的部分實際上是 S-box,因為混合列和移位行是固定的,所以你只需要一種方法來根據提供的數據增加基於 S-BOX 的結果它。你需要一個曲柄,你可以在其中輸入數據,鍵入,然後曲柄直到你滿意所有的回合。這是與 Enigma 的根本區別,在 Enigma 中,推動鍵的力量逐步上升到下一個值。在 AES-Enigma 中,您必須設置密鑰、數據,然後轉動搖桿 2560 次(假設 AES 128 為 10 輪,您必須機械地通過 S- 256 次盒子 )。
很酷的是你會看到輸出,就像你對這些一樣: https ://www.nayuki.io/page/aes-cipher-internals-in-excel
答案 = 否。
參考。早於 1950 年。出於顯而易見的原因,我排除了所有樂高、Meccano、Mega Bloks 和基於凸輪的機器。
這是洛倫茲轉子流密碼機(非常蒸汽朋克):-
Colossus和ENIAC旨在幫助解密此密鑰流。這些電腦處於密碼分析的最前沿,數百萬人的生命處於平衡狀態。
12 個金屬輪子轉來轉去,創造出鑰匙流。Colussus 和 ENIAC 時代的機電設備如何能夠執行 14 輪 256 位密鑰?並創建一個關鍵時間表?並執行替換/換位以灌輸混淆/擴散?這些機器可以進行頻率分析和一些蒙特卡羅模擬。
一塊 Arduino 板可以做 AES,但它的核心有 48,000 個晶體管,然後是記憶體和 GPIO。它產生的熱量很少,消耗 ~ 25mA 並且沒有任何動作。如果我不事先撫摸貓,我的是 100% 可靠的。Colossus 的可靠性為 50%。
另外,最明顯的是,他們沒有密碼學知識來設計一種機器,這種機器要到 21 世紀才會發明出來。還要考慮著名的差異引擎是在 1980 年代建造的(不是設計的,而是具體化的)。它計算對數和三角係數。今天,不是在 20 世紀初。它仍然無法加密推文。
想到他們很久以前就可以做到這一點是美好而浪漫的(我想這就是不合時宜的蒸汽朋克流派的目標),但我的回答是否定的。