des_breaker
index
/home/guilley/dpacontest/code/reference/des_breaker.py

des_breaker.py implements some methods to extract the key used to encipher
# some messages, using de DES algorithm, according to the provided
# side channel traces.
# Copyright (C) 2008 Florent Flament (florent.flament@telecom-paristech.fr)
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, version 3 of the License.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

 
Modules
       
des_block

 
Classes
       
des_breaker

 
class des_breaker
    Provides tool to break a DES algorithm from given power consumption traces.
 
  Methods defined here:
__init__(self)
Builds 8 sbox breakers. One for each sbox.
get_key(self, msg, crypt)
Guess the 8 last bits of the full key, using cryptogram.
Return the key if found, None elsewhere.
get_subkeys(self)
Returns a vector of currently best sboxes subkeys.
This is an array of 8 integers.
process(self, msg, trace)
Processes the given trace.
Returns None as long as the key as not been found.
Returns the key as a hex string when found.

 
Functions
       
test()