This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Technical Support for Building a Prototype

Hi,

I like to build a prototype of my invention which allows to realize an electronic signature using a low cost embedded microcontroller inside a smart card or USB dongle having the size of a key.

Today an electronic signature is normally realized by a public key algorithm like RSA requiring a expensive hardware for the modular arithmetric of large interger numbers. My idea is to use a special hardware to make the encryption irreversible. Therefore, only a much more efficient symmetric algorithm like the triple data encryption standard TDES is required.

The requirments are:
A trust center which is not  corrupted,
a special hardware (smart card ISO7816 or USB dongle)
symmetric block cipher TDES or AES,
a secure hashfunction (SHA-1).

Advantage: 1000 times faster than RSA,
                   no need for a hybrid technique,
                   long term security,
                   low cost hardware.

This "Blackbox for Asymmetric Encryption" is applied for a patent in Germany
(patent DE10210454A1). A presentation in german is available in the internet
http://www.scheerer-software.de/vortrag.pdf.

A possible application is an internet based quasi local network
(http://www.scheerer-software.de/konzept.html).

My aim is first to build a prototype. I have already developed a software
available for download (including the source) at http://www.scheerer-software.de/download/Open3DESCrypt.tar.gz.

This software needs only a few minor changes to realize my invention, the "Blackbox
for Asymmetric Encryption". The software uses essentially two library functions to implement the Triple-DES.

These library functions are:

des3key(uint8_t *key, int dir)

Ddes(uint8_t *in, uint8_t *out)

The first one writes the key value (variable key) in the memory of the blackbox, which
can be used only internally and determines whether the data is encrypted or decrypted
(dir = EN0 | DE1) later by calling the function Ddes.

The second function Ddes() performs the actual encryption or decrytion of 64 bit data blocks as defined in the dem TDES standard (FIPS PUB 46-3) in CBC mode using a unique IV.

These two functions have to be called by a host program runnung on a workstation
(ordinary PC or notebook). They have to run on a secure hardware device like a
smart card or dongle.

There must be no read access to the key values stored in the hardware device which is used for encryption or decryption besides by the funtion Ddes(). The key value is calculated by the function des3key using TDES from the input value of key and another secret key stored in the secure memory of the hardware device.

I hope you can give me some technical advice to build the prototype.


Regards

Franz Scheerer (info@scheerer-software.de)

0