Why trust gpg4win?

David Smith Dave.Smith at st.com
Fri Sep 13 12:50:15 CEST 2013

On 09/10/13 21:42, Jan wrote:
> 10/9/2013 14:19, Werner Koch wrote :
>> So what about using that free USB stack for AVR's to implement a flash
>> device?  You would be able to audit about everything; flylogic even has
>> these nice pictures of the ATmega88 masks...
> 10/9/2013  16:33, David Smith wrote:
>> AVR is a semiconductor manufacturer who make microcontrollers (amongst
>> other things).
> Thanks for the answers. Did you refer to the following?

No.  I work for a (different) semiconductor manufacturer (you can
probably work out which one from my email address...).  Actually, I
wasn't quite correct - AVR is a brand of microcontrollers made by
semiconductor manufacturer Atmel.  They are used in the Arduino project
among other things.

> How could I implement a flash device? Do you mean I need to take some 
> existing USB device created by AVR and replace its firmware by LUFA or 
> something like that? Could I use that modified USB device on every PC or 
> operation system?

To answer your questions in order...

1. You've answered this question in the second question
2. Yes.
3. Yes.  If you get the microcontroller to tell the PC that it's a flash
drive, then the PC will believe it and treat it as such.  The USB spec
(and sub-specs) define how a flash drive should "look" to the host (the
PC), and provided the USB device behaves like this, the host will assume
that it really is a flash drive.

In reality, a lot of USB devices are built this way - the low-level USB
hardware interface is implemented by dedicated hardware, but the
higher-level parts (like defining what "sort" of device it is, and what
to do with the data that is transferred) is encoded in firmware.  In
fact, it wouldn't surprise me if some USB flash drives are implemented
this way.

More information about the Gnupg-users mailing list