In the past, there were export and other restrictions on publishing information, source code or otherwise making new strong cryptographic items available without prior government approvals.

There are many conflicting regulations, laws, constitutional freedoms like freedom of speech and various legal precedents that make this area confusing; ITAR, EAR, etc.

So my specific questions are, are there still legal or regulatory restrictions for U.S. citizens that prohibit our ability to publish papers and articles about strong encryption techniques, improving existing techniques or introducing new cryptographic methods?

How about publishing source code accompanying such papers which are made publicly available? Is that still considered “exporting” that requires approval?

Edit1: That’s helpful guidance on software/hardware items. What about simply publishing research papers about improving and supplementing existing algorithms like AES, ChaCha, etc. without actually shipping anything other than a published paper?

  • $\begingroup$ is this more into Law? $\endgroup$ – kelalaka Dec 15 '18 at 20:07
  • $\begingroup$ @kelalaka You could; however, my lawyer is the Georgia Secretary of State. My answers is pretty authoritative as it was how all of the elected lawyers chose to not got to jail. $\endgroup$ – b degnan Dec 15 '18 at 21:16
  • $\begingroup$ @kelalaka Good point. They guy's probably just some consultant anyway, but I've found that lawyers suck at crypto law. It took me 2 years to publish because we were all trying to not go to jail. I wrote the IC implementation documents for SIMON under funding from the intelligence community. Outside of the SIMON team, I'm probably the one with the most knowledge about the hardware implementations for SIMON. I made a version robust to power attacks, and then I made a "classical synchronous" version that could be attacked. $\endgroup$ – b degnan Dec 15 '18 at 21:25
  • 1
    $\begingroup$ @PaulUszak exporting hardware, or presenting hardware that has keys greater than 64-bits is technically arms dealing. cryptography is a munition. weird eh? $\endgroup$ – b degnan Dec 15 '18 at 23:29
  • $\begingroup$ @bdegnan Yes I know, but most readers here probably don't. It messes with the power balance between states, and the state and the citizen (hence munition). The Founding Fathers realised this within their Bill of Rights. It raises some interesting moral questions regarding cryptography, don't you think? I was considering the viability of a new "Ethics" tag, since that seems to me like the most important aspect of cryptography. One could say that we shouldn't be giving people guns without understanding the implications. $\endgroup$ – Paul Uszak Dec 16 '18 at 14:16

My experience is from my time working in the State of Georgia, and firstly, how true that you want to stick to this depends on your funding source, and your end goals.

For software, the truth is probably nothing needs to be done in a practical sense due to Bernstein v. USA, but it's legally more complicated, and the details are here. By the letter of the law: If your keys are greater than 64-bits, each time the cryptographic functionality of the source code is updated or modified you have to notify NSA and the U.S. Department of Commerce Bureau of Industry and Security (BIS). If there are changes, you will need the specifics to notify BIS and NSA. I also explicitly keep embargoed countries and people from accessing the files because I only distribute them on request. This means that you can do whatever, and then publish the source code if you notify BIS. I also send them updates every 3 months to say "nothing has changed" because if not, they ask.

For hardware, it's much more complicated because it is much more inconvenient. I cannot fab anything without the proper forms in place, and the fabs enforce this as well. I need a product ECCN. Another annoyance is that I always end up making "hardware for export" for conferences. For example, I have a power attack for SIMON128/256, but I've only shown the SIMON32/64 attack publicly because there's no way to guarantee who's in the audience.

The biggest issue of why to care is the funding source. If you get USA money, you want them to feel like you are playing by their rules. I've put up with the bureaucracy so I've been able to get repeat funding for semiconductors, and those aren't cheap.

  • $\begingroup$ Do the same “munitions” limitations apply to publishing papers or research on cryptographic algorithms, where no source code is published? $\endgroup$ – rbraddy Dec 16 '18 at 18:38
  • $\begingroup$ @rbraddy The same limitation apply, particularly there' s a history for things that have been exported or used a product. Look up RC4 with the history of export changes. $\endgroup$ – b degnan Dec 16 '18 at 18:58
  • $\begingroup$ Thanks. How does one go about notifying NSA? $\endgroup$ – rbraddy Dec 16 '18 at 19:12
  • $\begingroup$ @rbraddy I contacted the BIS and they have a liaison that I use for contact. $\endgroup$ – b degnan Dec 16 '18 at 19:24
  • $\begingroup$ I found the following link to Notification Requirements for "Publicly Available" Encryption Source Code: web.archive.org/web/20020921015009/http://www.bis.doc.gov/…. Clearly this applies to software source code; however, it remains unclear that research papers being published without source code or other actual implementations require approvals. $\endgroup$ – rbraddy Dec 16 '18 at 22:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.