<div dir="auto"><br><br><div class="gmail_quote" dir="auto"><div dir="ltr" class="gmail_attr">Den ons 10 mars 2021 00:38Phillip Hallam-Baker <<a href="mailto:phill@hallambaker.com" target="_blank" rel="noreferrer">phill@hallambaker.com</a>> skrev:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-size:small">I am looking at the details of my packetizer and have come across the following design choice that I would like to understand a bit better.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">[...] </div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I am thinking of a different approach, I generate a primary key and then specify a nonce to some form of KDF function from which I derive the AES iv/nonce and key. This means I am performing a KDF per chunk and an AES key setup per chunk.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">[...]<br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">The idea here being that in a streaming video context or the like, there are collections of data within the stream that are all or nothing. Either I have a full frame of video data I can process or I aborted part way through because it was stale and will simply chuck it away. </div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">I doubt that I would ever want a chunk to be more than a few hundred KB simply because even if I am dealing with tens of TB of data, I want to have integrity checking at a much more granular level. My AES authentication tag is not just my protection against malice, it is my extended checksum as well.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Thoughts? Comments?</div><div class="gmail_default" style="font-size:small"></div></div></div></blockquote></div><div dir="auto"><br></div><div dir="auto">How about a streaming AEAD encryption construction, such as STREAM or CHAIN by Rogaway, if you have a sequence of packets / chunks to both encrypt and decrypt in order? </div><div dir="auto"><br></div><div dir="auto">These work similarly to what you describe that you would need here, since you can verify chunks of data at a time and also verify ordering of chunks. Seems like an important property for video (and more), as in your example. </div><div dir="auto"><br></div><div dir="auto"><a href="https://eprint.iacr.org/2015/189" target="_blank" rel="noreferrer">https://eprint.iacr.org/2015/189</a><br></div><div dir="auto"><br></div><div dir="auto"><br></div></div>