| My Number Theory papers |
Jacques Basaldúa Lemarchand
(B. Bilbao, 1963)
|
Browser warning |
 |
Before you read the articles, please, verify that your browser supports the character
set including mathematical symbols. Click
here and verify if both columns on the left display the same characters. |
|
Papers |
 |
These articles describe my research made in Number Theory. Many results may be
verified with the toolkits published below.
2001 December 14,
Moaña and the crab. (An informal essay on machines performing arithmetic and subarithmetic
operations with special attention to the factoring problem.)
2001 December 14,
All Fermat and Mersenne numbers are squarefree. (A proof based on the order of the subgroup
of the powers of 2 modulo Fk or Mp.)
2001 December ??, Reading a reaction to my proof, I found
Will Edington's paper of September 5, 1996 included
here.
2002 January 2,
Remarks about Wieferich primes in relation with .. (An exception was found to my previous proof.)
2003 December, I am working in a new paper that will be published soon. |
|
FREEWARE: Cryptographic Libraries |
| NumTyp32.zip |
License Conditions:
===================
These libraries are freeware.
--------
They are intended to be used for research in Number Theory, Cryptography, etc.
Nevertheless, commercial use is also possible.
You can copy, modify or use them as you wish.
No responsibility of any kind is accepted by the author.
The author would be glad if:
* You notify any bugs found to numtyp32@dybot.com
* You mention the source of the libraries if used in commercial products.
Support:
========
No support of any kind is given to these libraries.
Content:
========
NumTyp32.pas
------------
1. The object BigNumber manages big numbers. It performs ASCII<->BINARY
conv, RAM allocation and more.
2. It also includes the following basic arithmetic operations with BigNumber
objects: addition, subtraction, multiplication and integer division.
Unsigned arithmetic:
Function UbigAdd (var sum : BigNumber;
const s1,s2 : BigNumber) : byte;
Function UbigSubtract (var sub : BigNumber;
const s1,s2 : BigNumber) : byte;
Function UbigMultiply (var p : BigNumber;
const m,n : BigNumber) : byte;
Function UbigDivide (var dv,rm : BigNumber;
const num,den : BigNumber) : byte;
Signed arithmetic:
Function bigAdd (var sum : BigNumber;
const s1,s2 : BigNumber) : byte;
Function bigSubtract (var sub : BigNumber;
const s1,s2 : BigNumber) : byte;
Function bigMultiply (var p : BigNumber;
const m,n : BigNumber) : byte;
Function bigDivide (var dv,rm : BigNumber;
const num,den : BigNumber) : byte;
It also contains functions to compare BigNumber objects, easy string
conversion and a (not very efficient) square root algorithm.
NumRSA32.pas
------------
Function bnRaiseInModular (var ri : BigNumber;
const n,modl,expn : BigNumber) : byte;
Raises a BigNumber n to a BigNumber expn modulus an other BigNumber modl.
(The RSA encryption and decryption.)
Function bnModularInverse (var mi : BigNumber;
const n,modl : BigNumber) : byte;
Computes the modular inverse of n mod modl.
Function bnGCD (var mcd : BigNumber;
const p,q : BigNumber) : byte;
Function bnLCM (var mcm : BigNumber;
const p,q : BigNumber) : byte;
GCD and LCM (Greatest Common Divisor and Least Common Multiple)
Function bnRsaFullKeySet (var modl,pubExp,priExp : BigNumber;
const m,n : BigNumber) : byte;
Creates a full RSA key set: modulus, public exponent, private exponent
Function bnIsPrime (const p : BigNumber) : byte;
A full primality test using a LUT (Look-up table) of primes to seed and a
Fermat test to decide the cases not solved by the seed.
Test.dpr
--------
A heavy (450 seconds on a Pentium IV) test of both libraries. This file is
the only reference about how the functions are supposed to be called.
Read it carefully!!
numtyp32.zip |
|
FREEWARE:
Expression Parser/Profiler |
| moana.zip |
License Conditions:
===================
These libraries are freeware.
--------
They are intended to be used for research in Number Theory, Cryptography, etc.
Nevertheless, commercial use is also possible.
You can copy, modify or use them as you wish.
No responsibility of any kind is accepted by the author.
The author would be glad if:
* You notify any bugs found to moana@dybot.com
* You mention the source of the libraries if used in commercial products.
Support:
========
No support of any kind is given to these libraries.
Content:
========
PROGRAM STRUCTURE: The grammar is made of 4-levels:
Formal(smTypes.pas):
Replace() & Classify() + other minor tools
Syntactic(smParse.pas):
ParseExpression() + an hybrid (const/var) object oriented calculator
Semantic(smProfil.pas):
ProfileExpression() via truth-table analysis
Equation system builder (smMoana.pas):
Includes MOAÑA formulae
The grammar definition is declared in the file smTypes.pas (see remarks)
The definition of Moaña formulae is included in the file smMoana.pas
Read my article Moaña and the crab (see above) for further reference.
Test.dpr
--------
This program is a factoring example. The application crunches Moaña
formulae for the number 2257.
The result is: !q1·q5·q2·<q4×!q3
This means: All 6 bit factors of 2257 are the numbers whose
bit 0 is obviously 1 (even numbers are not interesting)
bit 1 is 0 (!q1 is true, means not q1 is true)
bit 2 is 1 (q2 is true)
bit 3 and 4 are either 0,0 or 1,1 ((q4 xor not q3) is true)
bit 5 is 1 (q5 is true)
This is: 100101 and 111101 (binary) = 37 and 61
Note: The reason why the trivial factors 1 and 2257 are not included,
is the choice of 6 bits for the result. (2257 does not fit in 6 bits)
moana.zip |
|
FREEWARE: Fac 1.0 simulation
|
| fac10.zip |
License Conditions:
===================
This program is freeware.
--------
No responsibility of any kind is accepted by the author.
Support:
========
No support of any kind is given to this program.
Content:
========
This is an interactive DEMO to help better understanding of concepts treated in:
Moaña and the crab
There is no manual and no support of any kind concerning the usage of this program.
The program is FREE and essentially USELESS.
The program includes a 64 bit hash function for self-integrity verification which
would warn you if any virus (present or future) should modify it.
The program requires Windows 95 or later, no particular version is required.
fac10.zip |
|