views:

90

answers:

2

I'm developing a python GUI application and plan on calling external program packaged with my program to do some encryption. I noticed from sites like OpenSSL that talk about export laws regarding cryptography software.

If I can't package binary forms of the cryptography software with my application, how can I work around this to still be able to encrypt the output of my program?

+5  A: 

You need to pick your target audiences with care, especially when you are dancing around with ITAR -- the International Traffic in Arms Regulations. Identify the countries you can legally export your product to and then, at the very least, say that people from other countries can't download it. You may have to do more than that to stay legal in your country.

Legally, this is getting into the deep end of the pool and you will want to talk to a knowledgeable attorney about this. If you live in Finland, you can probably do whatever you like. If you live in the US, be careful. If you live in France, be very careful.

Update: Sometimes I feel old, other days I prove it. Without checking on the current ITAR handling of strong cryptography I responded with an answer that is at least 12 years out of date. Prior to 1997 exporting crypto of any sort, from/to any country, was a very dicey thing to do and carried severe legal penalties. This was especially true in France which, for a time, outlawed all non-governmental uses of crypto, even very weak 40-bit DES. Although France has loosened up a bit, they still seem to behind most other developed countries in understanding that a) their citizens have a valid right to privacy, and b) there's not much they can do to stop it in a world where 4096 bit RSA is available all over the net.

ITAR's stance on crypto changed in 96-97. Although matters have improved in general, there are still obstacles to exporting/importing crypto. Before you go too much further you should thoroughly familiarize yourself with the laws of your country regarding cryto -- you might be shocked/saddened by what you find. Even the U.S. still has some restrictions on what kind of crypto you can export to whom and in what form.

Some countries, notably France and the U.K., have had (and appear to still have in some form or other) laws that can require the supplier of the software to either escrow keys used by their customers and/or provide a backdoor into the system in case the government wants to see what you are talking about.

Bottom line: Good crypto makes governments nervous and the laws on what is legal/illegal are all over the map. Try to understand exactly what role encryption plays in your proposed product/project and determine if it's something that a user can opt in/out of based on their own country's stance on the subject.

Peter Rowell
Unfortunately I can only +1, because it should really by +5. Dealing with ITAR and import/export regulations, especially relating to encryption can be very hairy.
GrayWizardx
Is the ITAR still including cryptographic software? I ask this because on a similar question where I was pointing out this, my answer was first down-voted, and then somebody replied that this is not anymore the case. I simply reported that cryptographic software is compared with arms.
kiamlaluno
in france, very careful ?? can you explain ?
Adrien Plisson
@Adrien: I tried to address this in my update. I spent a little time trying to find the exact current French law in this area, but what I found mostly dated from 1998-2002. They may have made changes since then, but I wouldn't bet my life (or my company's life) on it.
Peter Rowell
Cryptography is still covered by international arms exporting arrangments, like Wassenaar. The Crypto Law Survey is a good resource: http://rechten.uvt.nl/koops/cryptolaw/
caf
@caf thanks a lot for the link, there are very interresting informations here.
Adrien Plisson
A: 

i have often seen people rely on an external package for the cryptographic part: you can package your software without the cryptographic package, and tell your user that they have to download and install the cryptographic part from the original publisher.

this is effectively moving the responsibility for the cryptographic part from you to your user.

Adrien Plisson
Some crypto laws specifically cover software with a pluggable interface designed for encryption, so even doing this doesn't necessarily get you out of the woods.
caf