changed to keep it simple
This commit is contained in:
parent
3f9144c9a7
commit
a543e0caa6
@ -13,28 +13,29 @@
|
|||||||
dynamic languages.
|
dynamic languages.
|
||||||
|
|
||||||
This instance uses Python's ctypes and requires a single
|
This instance uses Python's ctypes and requires a single
|
||||||
.dylib linking together LTC and one or more math libraries.
|
.dylib linking together LTC and a math library. Building
|
||||||
Building a single .dylib is needed because LTC wants a
|
a single .dylib is needed because LTC wants a fairly tight
|
||||||
fairly tight relationship between itself and the mathlib.
|
relationship between itself and the mathlib. (ctypes can
|
||||||
(ctypes can load multiple .dylibs, but it does not support
|
load multiple .dylibs, but it does not support this level
|
||||||
this level of coupling between those independent libraries.)
|
of tight coupling between otherwise independent libraries.)
|
||||||
|
|
||||||
My .dylib was created on OSX with the following steps:
|
My .dylib was created on OSX with the following steps:
|
||||||
|
|
||||||
1- compile LTC to a .a static lib:
|
1- compile LTC to a .a static lib:
|
||||||
CFLAGS="-DLTM_DESC -DUSE_LTM -DTFM_DESC -DUSE_TFM \
|
CFLAGS="-DLTM_DESC -DUSE_LTM" make
|
||||||
-I/usr/local/include" make
|
|
||||||
|
|
||||||
2- link LTC, LTM and TFM into a single .dylib:
|
2- link LTC and LTM into a single .dylib:
|
||||||
ar2dylib_with_and tomcrypt tommath tfm
|
ar2dylib_with tomcrypt tommath
|
||||||
where ar2dylib_with_and is a shell script that combines
|
where ar2dylib_with is a shell script that combines
|
||||||
the .a with .dylibs for LTM and TFM
|
the LTC .a with the LTM .dylib
|
||||||
|
|
||||||
Reminder: you don't need to bind in a math library unless
|
Reminder: you don't need to bind in a math library unless
|
||||||
you are going to use LTC functions that depend
|
you are going to use LTC functions that depend
|
||||||
on a mathlib. For example, public key crypto
|
on a mathlib. For example, public key crypto
|
||||||
needs a mathlib; hashing and symmetric encryption
|
needs a mathlib; hashing and symmetric encryption
|
||||||
does not.
|
do not.
|
||||||
|
|
||||||
|
This code was written for Python 2.7.
|
||||||
|
|
||||||
Larry Bugbee
|
Larry Bugbee
|
||||||
March 2014
|
March 2014
|
||||||
@ -138,40 +139,6 @@ if 1:
|
|||||||
print ' %-25s %d' % (name, value)
|
print ' %-25s %d' % (name, value)
|
||||||
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
|
||||||
# init the selected math package, change to another mathlib,
|
|
||||||
# and change back to the first mathlib
|
|
||||||
|
|
||||||
if 1:
|
|
||||||
print '\n init the selected math package, change, and change again'
|
|
||||||
|
|
||||||
# show ltm_desc
|
|
||||||
ptr = c_int.in_dll(LTC, 'ltm_desc')
|
|
||||||
print ' ltm_desc: ', hex(ptr.value)
|
|
||||||
# show tfm_desc
|
|
||||||
ptr = c_int.in_dll(LTC, 'tfm_desc')
|
|
||||||
print ' tfm_desc: ', hex(ptr.value)
|
|
||||||
# let's see the initial value of ltc_mp
|
|
||||||
ptr = c_int.in_dll(LTC, 'ltc_mp')
|
|
||||||
print ' initial ptr:', hex(ptr.value)
|
|
||||||
|
|
||||||
# init LTM and show ltc_mp
|
|
||||||
LTC.init_LTM()
|
|
||||||
ptr = c_int.in_dll(LTC, 'ltc_mp')
|
|
||||||
print ' ptr to LTM: ', hex(ptr.value)
|
|
||||||
|
|
||||||
# init TFM and show ltc_mp
|
|
||||||
LTC.init_TFM()
|
|
||||||
ptr = c_int.in_dll(LTC, 'ltc_mp')
|
|
||||||
print ' ptr to TFM: ', hex(ptr.value)
|
|
||||||
|
|
||||||
# now change back to LTM
|
|
||||||
LTC.init_LTM()
|
|
||||||
ptr = c_int.in_dll(LTC, 'ltc_mp')
|
|
||||||
print ' ptr to LTM: ', hex(ptr.value)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#---------------------------------------------------------------
|
#---------------------------------------------------------------
|
||||||
#---------------------------------------------------------------
|
#---------------------------------------------------------------
|
||||||
# ctypes getting a list of this build's supported algorithms
|
# ctypes getting a list of this build's supported algorithms
|
||||||
|
Loading…
Reference in New Issue
Block a user