Earlier quoted context omitted.
Presuming you mean One Time Pads, they are an exagerated solution. If I want to send you 1GB of data, we should not require 1GB of shared secret random data. A setup where you have e.g. 4kb of shared secret data, and use that to communicate fully randomly generated keys. Then those keys are used with symmetric encryption for the full transaction. The main issue with this is the 'shared secret' part. How would you do…
Yes, I didn't capitalize it, but I did spell out OTPs in my original post. Here's the part where CompSci people lose me: > If I want to send you 1GB of data, we should not require 1GB of shared secret random data. I agree if the data is something trivial like video but it doesn't follow to me that OTPs shouldn't be used for something as critical as code updates for autonomous vehicles control systems. > How would you…
There are significant size issues, but those are solved by replacing an OTP with a fixed size key K that is expanded somehow. eg a stream like
[ sha(K, 1); sha(K, 2) ... ]
Though to be honest I am just reinventing AES-CTR here.
However, besides this the biggest issue is keeping state. You don't just need to keep all of the shared keys, but you need to remember and be synchronized on where in the stream you are.In the end, essentially all you want to achieve can be done using AES-CTR or really any kind of symmetric encryption. In general, symmetric encryption has been pretty reliable. OTPs are just not worth the trade-off with respect to symmetric encryption.