@@ -81,31 +81,94 @@ <h2>🔒 Lightweight Cryptography</h2>
8181 </ p >
8282
8383 <!-- Comparison: AEAD vs Block Ciphers -->
84- < h3 > AEAD vs. Block Ciphers</ h3 >
85- < table >
86- < tr > < th > Feature</ th > < th > AEAD (e.g. Ascon)</ th > < th > Block Cipher + MAC (e.g. AES-GCM)</ th > </ tr >
87- < tr > < td > Encryption + Auth</ td > < td > Single pass, atomic</ td > < td > Two steps (encrypt then tag)</ td > </ tr >
88- < tr > < td > Code Size</ td > < td > ≈2–5 kB</ td > < td > ≈10–20 kB</ td > </ tr >
89- < tr > < td > RAM Usage</ td > < td > ≈200–500 bytes</ td > < td > ≈1–2 kB</ td > </ tr >
90- < tr > < td > Throughput</ td > < td > 2–5 cycles/byte</ td > < td > 10–15 cycles/byte</ td > </ tr >
91- < tr > < td > Security Goal</ td > < td > Confidentiality & Authenticity</ td > < td > Confidentiality & Authenticity</ td > </ tr >
92- </ table >
84+ < h3 > AEAD vs. Block Cipher Comparison</ h3 >
85+ < table >
86+ < thead >
87+ < tr >
88+ < th style ="text-align:left; padding:8px; "> Feature</ th >
89+ < th style ="text-align:center; padding:8px; "> AEAD (e.g., Ascon)</ th >
90+ < th style ="text-align:center; padding:8px; "> Block Cipher + MAC (e.g., AES-GCM)</ th >
91+ </ tr >
92+ </ thead >
93+ < tbody >
94+ < tr >
95+ < td style ="padding:8px; "> Encryption + Authentication</ td >
96+ < td style ="text-align:center; padding:8px; "> Single pass (atomic)</ td >
97+ < td style ="text-align:center; padding:8px; "> Two steps (encrypt, then tag)</ td >
98+ </ tr >
99+ < tr >
100+ < td style ="padding:8px; "> Code Size</ td >
101+ < td style ="text-align:center; padding:8px; "> ≈ 2 – 5 kB</ td >
102+ < td style ="text-align:center; padding:8px; "> ≈ 10 – 20 kB</ td >
103+ </ tr >
104+ < tr >
105+ < td style ="padding:8px; "> RAM Usage</ td >
106+ < td style ="text-align:center; padding:8px; "> ≈ 200 – 500 bytes</ td >
107+ < td style ="text-align:center; padding:8px; "> ≈ 1 – 2 kB</ td >
108+ </ tr >
109+ < tr >
110+ < td style ="padding:8px; "> Throughput (cycles/byte)</ td >
111+ < td style ="text-align:center; padding:8px; "> 2 – 5</ td >
112+ < td style ="text-align:center; padding:8px; "> 10 – 15</ td >
113+ </ tr >
114+ < tr >
115+ < td style ="padding:8px; "> Security Goal</ td >
116+ < td style ="text-align:center; padding:8px; "> Confidentiality & Authenticity</ td >
117+ < td style ="text-align:center; padding:8px; "> Confidentiality & Authenticity</ td >
118+ </ tr >
119+ </ tbody >
120+ </ table >
93121
94122 <!-- ASCON Deep Dive -->
95123 < h3 > ASCON Internals</ h3 >
96124 < img src ="assets/Ascon_sponge_diagram.png " alt ="Ascon Sponge Diagram " style ="display:block;margin:10px auto;max-width:400px; ">
97125 < table >
98- < tr > < th > Property</ th > < th > Value</ th > </ tr >
99- < tr > < td > Permutation Size</ td > < td > 320 bits (5 x 64-bit lanes)</ td > </ tr >
100- < tr > < td > Rate</ td > < td > 64 bits / 8 bytes per absorption/squeeze</ td > </ tr >
101- < tr > < td > Initialization Rounds</ td > < td > 12</ td > </ tr >
102- < tr > < td > Intermediate Rounds</ td > < td > 6</ td > </ tr >
103- < tr > < td > Finalization Rounds</ td > < td > 12</ td > </ tr >
104- < tr > < td > Key Size</ td > < td > 128 bits (optional 256 bits)</ td > </ tr >
105- < tr > < td > Nonce Size</ td > < td > 128 bits</ td > </ tr >
106- < tr > < td > Tag Size</ td > < td > 128 bits</ td > </ tr >
107- < tr > < td > Performance (Cortex-M4)</ td > < td > ≈1 MB/s</ td > </ tr >
108- </ table >
126+ < thead >
127+ < tr >
128+ < th style ="text-align:left; padding:8px; "> Property</ th >
129+ < th style ="text-align:center; padding:8px; "> Value</ th >
130+ </ tr >
131+ </ thead >
132+ < tbody >
133+ < tr >
134+ < td style ="padding:8px; "> Permutation Size</ td >
135+ < td style ="text-align:center; padding:8px; "> 320 bits (5 × 64-bit lanes)</ td >
136+ </ tr >
137+ < tr >
138+ < td style ="padding:8px; "> Rate</ td >
139+ < td style ="text-align:center; padding:8px; "> 64 bits / 8 bytes per absorption/squeeze</ td >
140+ </ tr >
141+ < tr >
142+ < td style ="padding:8px; "> Initialization Rounds</ td >
143+ < td style ="text-align:center; padding:8px; "> 12</ td >
144+ </ tr >
145+ < tr >
146+ < td style ="padding:8px; "> Intermediate Rounds</ td >
147+ < td style ="text-align:center; padding:8px; "> 6</ td >
148+ </ tr >
149+ < tr >
150+ < td style ="padding:8px; "> Finalization Rounds</ td >
151+ < td style ="text-align:center; padding:8px; "> 12</ td >
152+ </ tr >
153+ < tr >
154+ < td style ="padding:8px; "> Key Size</ td >
155+ < td style ="text-align:center; padding:8px; "> 128 bits (optional 256 bits)</ td >
156+ </ tr >
157+ < tr >
158+ < td style ="padding:8px; "> Nonce Size</ td >
159+ < td style ="text-align:center; padding:8px; "> 128 bits</ td >
160+ </ tr >
161+ < tr >
162+ < td style ="padding:8px; "> Tag Size</ td >
163+ < td style ="text-align:center; padding:8px; "> 128 bits</ td >
164+ </ tr >
165+ < tr >
166+ < td style ="padding:8px; "> Performance (Cortex-M4)</ td >
167+ < td style ="text-align:center; padding:8px; "> ≈ 1 MB/s</ td >
168+ </ tr >
169+ </ tbody >
170+ </ table >
171+
109172
110173 < p >
111174 ASCON’s design is built around a < em > sponge construction</ em > , where data and keys are absorbed into an internal state
@@ -114,13 +177,34 @@ <h3>ASCON Internals</h3>
114177 </ p >
115178
116179 <!-- Security Comparison -->
117- < h3 > Security Strength vs. Block Ciphers</ h3 >
118- < table >
119- < tr > < th > Security Aspect</ th > < th > ASCON (128-bit key)</ th > < th > AES-128 (GCM)</ th > </ tr >
120- < tr > < td > Bit-security</ td > < td > ≥ 128 bits</ td > < td > 128 bits</ td > </ tr >
121- < tr > < td > Integrity Bound</ td > < td > 2^64 forgery bound</ td > < td > 2^64 forgery bound</ td > </ tr >
122- < tr > < td > Resistance to Side-Channel</ td > < td > Simple permutation—easier to mask</ td > < td > Complex S-boxes—harder to mask</ td > </ tr >
123- </ table >
180+ < h3 > Security Strength vs. Block Ciphers</ h3 >
181+ < table >
182+ < thead >
183+ < tr >
184+ < th style ="text-align:left; padding:8px; "> Security Aspect</ th >
185+ < th style ="text-align:center; padding:8px; "> ASCON (128-bit key)</ th >
186+ < th style ="text-align:center; padding:8px; "> AES-128 (GCM)</ th >
187+ </ tr >
188+ </ thead >
189+ < tbody >
190+ < tr >
191+ < td style ="padding:8px; "> Bit-security</ td >
192+ < td style ="text-align:center; padding:8px; "> ≥ 128 bits</ td >
193+ < td style ="text-align:center; padding:8px; "> 128 bits</ td >
194+ </ tr >
195+ < tr >
196+ < td style ="padding:8px; "> Integrity Bound</ td >
197+ < td style ="text-align:center; padding:8px; "> 2⁶⁴ forgery bound</ td >
198+ < td style ="text-align:center; padding:8px; "> 2⁶⁴ forgery bound</ td >
199+ </ tr >
200+ < tr >
201+ < td style ="padding:8px; "> Side-Channel Resistance</ td >
202+ < td style ="text-align:center; padding:8px; "> Simple permutation – easier to mask</ td >
203+ < td style ="text-align:center; padding:8px; "> Complex S-boxes – harder to mask</ td >
204+ </ tr >
205+ </ tbody >
206+ </ table >
207+
124208
125209 < p >
126210 By choosing ASCON for Ptah’s edge modules, we ensure each micro-controller—or even a small FPGA slice—can
0 commit comments