Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown...

99
Factoradics and Factoradics and Semi-dynamic Semi-dynamic Encryption Encryption Oskars Rieksts Oskars Rieksts with with Chris Mraovich & Jeremy Vaughan Chris Mraovich & Jeremy Vaughan Kutztown University Kutztown University

Transcript of Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown...

Page 1: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

Factoradics and Semi-dynamic Factoradics and Semi-dynamic EncryptionEncryption

Oskars RiekstsOskars Riekstswithwith

Chris Mraovich & Jeremy VaughanChris Mraovich & Jeremy Vaughan

Kutztown UniversityKutztown University

Page 2: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 2

OverviewOverviewFactoradicsFactoradicsFactoradics and PermutationsFactoradics and PermutationsFactoradics and EncryptionFactoradics and EncryptionSemi-dynamic EncryptionSemi-dynamic EncryptionCurrent InvestigationsCurrent Investigations

Page 3: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 3

FactoradicsFactoradics Mixed Radix - CombinadicMixed Radix - Combinadic

In mathematics, a In mathematics, a combinadiccombinadic is an ordered integer is an ordered integer partition, or composition. Combinadics provide a partition, or composition. Combinadics provide a lexicographical index for combinations. lexicographical index for combinations.

HistoryHistory Burgeoning InterestBurgeoning Interest Application to SecurityApplication to Security Definition & OperationsDefinition & Operations

Page 4: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 4

HistoryHistory Ernesto Pascal – 1887Ernesto Pascal – 1887 Derrick LehmerDerrick Lehmer Donald KnuthDonald Knuth Peter CameronPeter Cameron James McCaffreyJames McCaffrey "Using Permutations in .NET for Improved Systems Security", by D"Using Permutations in .NET for Improved Systems Security", by D

r. James McCaffrey.r. James McCaffrey.

Knuth has that Derrick Lehmer published the basic Knuth has that Derrick Lehmer published the basic theoremtheorem in 1964, in 1964, and an Ernesto Pascal described a and an Ernesto Pascal described a combinatorial combinatorial number systemnumber system around 1887. around 1887.

Page 5: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 5

Burgeoning InterestBurgeoning Interest

Last Summer – handful of web Last Summer – handful of web pagespages

Now – 508 web pagesNow – 508 web pagesGoogle: “Did you mean Google: “Did you mean

factoredfactored?”?”

Page 6: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 6

Application to SecurityApplication to Security McCaffrey: McCaffrey:

"Using Permutations in .NET for Improved Systems"Using Permutations in .NET for Improved Systems Security" Security"

1-1 relationship to permutations1-1 relationship to permutations

Page 7: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 7

Definition & OperationsDefinition & Operations

DefinitionDefinitionExampleExampleAdditionAdditionCompletenessCompleteness

Page 8: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 8

DefinitionDefinitionMixed radixMixed radixNumber Base = factorialNumber Base = factorialN digits, where N is order of fN digits, where N is order of fMax digit value is pMax digit value is p

– where p is its positionwhere p is its positionValue: digit * p!Value: digit * p!

Page 9: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 9

ExampleExample

[3 1 1 0][3 1 1 0]

Page 10: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 10

ExampleExample

[3 1 1 0][3 1 1 0]= 3*3! + 1*2! + 1 *1! + 0*0!= 3*3! + 1*2! + 1 *1! + 0*0!

Page 11: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 11

ExampleExample

[3 1 1 0][3 1 1 0]= 3*3! + 1*2! + 1 *1! + 0*0!= 3*3! + 1*2! + 1 *1! + 0*0!= 18+2+1+0 = 21= 18+2+1+0 = 21

Page 12: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 12

ExampleExample

[3 1 1 0][3 1 1 0]= 3*3! + 1*2! + 1 *1! + 0*0!= 3*3! + 1*2! + 1 *1! + 0*0!= 18+2+1+0 = 21= 18+2+1+0 = 21[3 2 1 0] is max fadic of order 4[3 2 1 0] is max fadic of order 4

Page 13: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 13

ExampleExample

[3 1 1 0][3 1 1 0]= 3*3! + 1*2! + 1 *1! + 0*0!= 3*3! + 1*2! + 1 *1! + 0*0!= 18+2+1+0 = 21= 18+2+1+0 = 21[3 2 1 0] is max fadic of order 4[3 2 1 0] is max fadic of order 4[3 2 1 0] = 23 = 4! - 1[3 2 1 0] = 23 = 4! - 1

Page 14: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 14

AdditionAddition

Proceeds mod p+1Proceeds mod p+1 Resulting in sum mod n! Resulting in sum mod n!

– where n is maxorder(fwhere n is maxorder(f11,f,f22))

Page 15: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 15

AdditionAddition

Proceeds mod p+1Proceeds mod p+1 Resulting in sum mod n! Resulting in sum mod n!

– where n is maxorder(fwhere n is maxorder(f11,f,f22))

[2 3 1 1 0] [2 3 1 1 0] = 69= 69

Page 16: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 16

AdditionAddition

Proceeds mod p+1Proceeds mod p+1 Resulting in sum mod n! Resulting in sum mod n!

– where n is maxorder(fwhere n is maxorder(f11,f,f22))

[2 3 1 1 0] [2 3 1 1 0] = 69= 69

+ [3 1 2 0 0] + [3 1 2 0 0] = 82= 82

Page 17: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 17

AdditionAddition Proceeds mod p+1Proceeds mod p+1 Resulting in sum mod n! Resulting in sum mod n!

– where n is maxorder(fwhere n is maxorder(f11,f,f22))

5 4 3 2 15 4 3 2 1

[2 3 1 1 0] [2 3 1 1 0] = 69= 69

+ [3 1 2 0 0] + [3 1 2 0 0] = 82= 82

= [ ? ? ? ? = [ ? ? ? ? 00 ] ]

Page 18: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 18

AdditionAddition Proceeds mod p+1Proceeds mod p+1 Resulting in sum mod n! Resulting in sum mod n!

– where n is maxorder(fwhere n is maxorder(f11,f,f22))

5 4 3 2 15 4 3 2 1

[2 3 1 1 0] [2 3 1 1 0] = 69= 69

+ [3 1 2 0 0] + [3 1 2 0 0] = 82= 82

= [? ? ? = [? ? ? 11 0] 0]

Page 19: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 19

AdditionAddition Proceeds mod p+1Proceeds mod p+1 Resulting in sum mod n! Resulting in sum mod n!

– where n is maxorder(fwhere n is maxorder(f11,f,f22))

5 4 3 2 15 4 3 2 1

[2 3 1 1 0] [2 3 1 1 0] = 69= 69

+ [3 1 2 0 0] + [3 1 2 0 0] = 82= 82

= [? ? = [? ? 00 1 0] 1 0]

Page 20: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 20

AdditionAddition proceeds mod p+1proceeds mod p+1 resulting in sum mod n! resulting in sum mod n!

– where n is maxorder(fwhere n is maxorder(f11,f,f22))

5 4 3 2 15 4 3 2 1

[2 3 1 1 0] [2 3 1 1 0] = 69= 69

+ [3 1 2 0 0] + [3 1 2 0 0] = 82= 82

= [? = [? 11 0 1 0] 0 1 0]

Page 21: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 21

AdditionAddition Proceeds mod p+1Proceeds mod p+1 Resulting in sum mod n! Resulting in sum mod n!

– where n is maxorder(fwhere n is maxorder(f11,f,f22))

5 4 3 2 15 4 3 2 1

[2 3 1 1 0] [2 3 1 1 0] = 69= 69

+ [3 1 2 0 0] + [3 1 2 0 0] = 82= 82

= [= [11 1 0 1 0] 1 0 1 0]

Page 22: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 22

AdditionAddition Proceeds mod p+1Proceeds mod p+1 Resulting in sum mod n! Resulting in sum mod n!

– where n is maxorder(fwhere n is maxorder(f11,f,f22))

[2 3 1 1 0] [2 3 1 1 0] = 69= 69

+ [3 1 2 0 0] + [3 1 2 0 0] = 82= 82

= [1 1 0 1 0] = [1 1 0 1 0] = 31= 31

Page 23: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 23

AdditionAddition Proceeds mod p+1Proceeds mod p+1 Resulting in sum mod n! Resulting in sum mod n!

– where n is maxorder(fwhere n is maxorder(f11,f,f22))

[2 3 1 1 0] [2 3 1 1 0] = 69= 69

+ [3 1 2 0 0] + [3 1 2 0 0] = 82= 82

= [1 1 0 1 0] = [1 1 0 1 0] = 31 = (69+82) mod 120= 31 = (69+82) mod 120

Page 24: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 24

CompletenessCompleteness

1-1 correspondence with integers1-1 correspondence with integersEvery fadic Every fadic unique integer unique integer

– Saw::Saw:: fadic fadic integer conversion integer conversion

Every integer Every integer unique fadic unique fadic– integer integer fadic conversion fadic conversion

Page 25: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 25

Integer Integer Factoradic Factoradic 400 400 [ ? ? . . ?] [ ? ? . . ?]

Page 26: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 26

Integer Integer Factoradic Factoradic 400 400 [ ? ? . . ?] [ ? ? . . ?] 11stst n such that n! > 400 n such that n! > 400 order = 6 order = 6

Page 27: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 27

Integer Integer Factoradic Factoradic 400 400 [ ? ? . . ?] [ ? ? . . ?] 11stst n such that n! > 400 n such that n! > 400 order = 6 order = 6 400 div 5! = 3400 div 5! = 3 400-360 = 40400-360 = 40

Page 28: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 28

Integer Integer Factoradic Factoradic 400 400 [ ? ? . . ?] [ ? ? . . ?] 11stst n such that n! > 400 n such that n! > 400 order = 6 order = 6 400 div 5! = 3400 div 5! = 3 400-360 = 40400-360 = 40 40 div 4! = 140 div 4! = 1 40-24 = 1640-24 = 16

Page 29: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 29

Integer Integer Factoradic Factoradic 400 400 [ ? ? . . ?] [ ? ? . . ?] 11stst n such that n! > 400 n such that n! > 400 order = 6 order = 6 400 div 5! = 3400 div 5! = 3 400-360 = 40400-360 = 40 40 div 4! = 140 div 4! = 1 40-24 = 1640-24 = 16 16 div 3! = 216 div 3! = 2 16-12 = 416-12 = 4

Page 30: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 30

Integer Integer Factoradic Factoradic 400 400 [ ? ? . . ?] [ ? ? . . ?] 11stst n such that n! > 400 n such that n! > 400 order = 6 order = 6 400 div 5! = 3400 div 5! = 3 400-360 = 40400-360 = 40 40 div 4! = 140 div 4! = 1 40-24 = 1640-24 = 16 16 div 3! = 216 div 3! = 2 16-12 = 416-12 = 4 4 div 2! = 24 div 2! = 2 4-4=04-4=0

Page 31: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 31

Integer Integer Factoradic Factoradic 400 400 [ ? ? . . ?] [ ? ? . . ?] 11stst n such that n! > 400 n such that n! > 400 order = 6 order = 6 400 div 5! = 3400 div 5! = 3 400-360 = 40400-360 = 40 40 div 4! = 140 div 4! = 1 40-24 = 1640-24 = 16 16 div 3! = 216 div 3! = 2 16-12 = 416-12 = 4 4 div 2! = 24 div 2! = 2 4-4=04-4=0

[3 1 2 2 0 0] = 400[3 1 2 2 0 0] = 400

Page 32: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 32

Factoradics and PermutationsFactoradics and Permutations 1-1 correspondence1-1 correspondence

– fadic order k fadic order k permutation of k objects permutation of k objects

Lexicographic orderLexicographic order012012021021102102120120201201210210

nnthth factoradic factoradic n nthth permutation permutation

Page 33: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 33

Fadic-Perm ExampleFadic-Perm Examplexx fadic(x)fadic(x) perm(x)perm(x)

00 [0 0 0][0 0 0] {0 1 2}{0 1 2}11 [0 1 0][0 1 0] {0 2 1}{0 2 1}22 [1 0 0][1 0 0] {1 0 2}{1 0 2}33 [1 1 0][1 1 0] {1 2 0}{1 2 0}44 [2 0 0][2 0 0] {2 0 1}{2 0 1}55 [2 1 0][2 1 0] {2 1 0}{2 1 0}

Page 34: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

Data EncryptionData EncryptionChris MraovichChris Mraovich

http://faculty.kutztown.edu/rieksts/385/sem-project/PastProjects/Mraovich/PresentationCD/http://faculty.kutztown.edu/rieksts/385/sem-project/PastProjects/Mraovich/PresentationCD/Encryption%20using%20Factoradics.pptEncryption%20using%20Factoradics.ppt

Page 35: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 35

PermutationsPermutationsGoal is to rearrange bits into a different patternGoal is to rearrange bits into a different pattern

1 0 1 1

1 1 0 1

Permutation – rearrangement of a set of objectsPermutation – rearrangement of a set of objects

Original Form:Original Form:

Encrypted Form:Encrypted Form:

Page 36: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 36

Order & Total Permutations Order & Total Permutations

Suppose there are 4 objectsSuppose there are 4 objects

Order – number of objects (N)Order – number of objects (N)

Total number of permutations for N objects is N!Total number of permutations for N objects is N!

N = 4, so there are 4! or 24 ways to rearrange 4 objectsN = 4, so there are 4! or 24 ways to rearrange 4 objects

Page 37: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 37

00 [ 0 0 0 0 ] [ 0 0 0 0 ] { 0 1 2 3 } { 0 1 2 3 }1 1 [ 0 0 1 0 ] [ 0 0 1 0 ] { 0 1 3 2 } { 0 1 3 2 }2 2 [ 0 1 0 0 ] [ 0 1 0 0 ] { 0 2 1 3 } { 0 2 1 3 }3 3 [ 0 1 1 0 ] [ 0 1 1 0 ] { 0 2 3 1 } { 0 2 3 1 }4 4 [ 0 2 0 0 ] [ 0 2 0 0 ] { 0 3 1 2 } { 0 3 1 2 }5 5 [ 0 2 1 0 ] [ 0 2 1 0 ] { 0 3 2 1 } { 0 3 2 1 }6 6 [ 1 0 0 0 ] [ 1 0 0 0 ] { 1 0 2 3 } { 1 0 2 3 }7 7 [ 1 0 1 0 ] [ 1 0 1 0 ] { 1 0 3 2 } { 1 0 3 2 }88 [ 1 1 0 0 ] [ 1 1 0 0 ] { 1 2 0 3 } { 1 2 0 3 }99 [ 1 1 1 0 ] [ 1 1 1 0 ] { 1 2 3 0 } { 1 2 3 0 }10 10 [ 1 2 0 0 ] [ 1 2 0 0 ] { 1 3 0 2 } { 1 3 0 2 }11 11 [ 1 2 1 0 ] [ 1 2 1 0 ] { 1 3 2 0 } { 1 3 2 0 }12 12 [ 2 0 0 0 ] [ 2 0 0 0 ] { 2 0 1 3 } { 2 0 1 3 }13 13 [ 2 0 1 0 ] [ 2 0 1 0 ] { 2 0 3 1 } { 2 0 3 1 }14 14 [ 2 1 0 0 ] [ 2 1 0 0 ] { 2 1 0 3 } { 2 1 0 3 }15 15 [ 2 1 1 0 ] [ 2 1 1 0 ] { 2 1 3 0 } { 2 1 3 0 }16 16 [ 2 2 0 0 ] [ 2 2 0 0 ] { 2 3 0 1 } { 2 3 0 1 }17 17 [ 2 2 1 0 ] [ 2 2 1 0 ] { 2 3 1 0 } { 2 3 1 0 }18 18 [ 3 0 0 0 ] [ 3 0 0 0 ] { 3 0 1 2 } { 3 0 1 2 }19 19 [ 3 0 1 0 ] [ 3 0 1 0 ] { 3 0 2 1 } { 3 0 2 1 }20 [ 3 1 0 0 ] { 3 1 0 2 }21 21 [ 3 1 1 0 ] [ 3 1 1 0 ] { 3 1 2 0 } { 3 1 2 0 }22 22 [ 3 2 0 0 ] [ 3 2 0 0 ] { 3 2 0 1 } { 3 2 0 1 }2323 [ 3 2 1 0 ] [ 3 2 1 0 ] { 3 2 1 0 } { 3 2 1 0 }

•Each factoradic uniquely Each factoradic uniquely identifies a particular permutationidentifies a particular permutation

Total Permutations of order 4Total Permutations of order 4FactoradicFactoradic PermutationPermutationIntInt

•Int is the base 10 representation Int is the base 10 representation of the factoradicof the factoradic

•Walkthrough of how 20Walkthrough of how 201010 is is

converted to a permutation of converted to a permutation of order 4order 4

Page 38: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 38

Fadic Fadic Permutation Permutation [ 3 1 0 0 ][ 3 1 0 0 ]

Page 39: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 39

Fadic Fadic Permutation Permutation [ 3 1 0 0 ][ 3 1 0 0 ] 1. Increment each digit by 1.1. Increment each digit by 1.

Page 40: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 40

Fadic Fadic Permutation Permutation [ 3 1 0 0 ][ 3 1 0 0 ] 1. Increment each digit by 1.1. Increment each digit by 1.

– [4 2 1 1 ][4 2 1 1 ]

Page 41: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 41

Fadic Fadic Permutation Permutation [ 3 1 0 0 ][ 3 1 0 0 ] 1. Increment each digit by 1.1. Increment each digit by 1.

– [4 2 1 1 ][4 2 1 1 ] 2. Bring down 12. Bring down 1stst digit digit

Page 42: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 42

Fadic Fadic Permutation Permutation [ 3 1 0 0 ][ 3 1 0 0 ] 1. Increment each digit by 1.1. Increment each digit by 1.

– [4 2 1 1 ][4 2 1 1 ] 2. Bring down 12. Bring down 1stst digit digit

– { ? ? ? { ? ? ? 11}}

Page 43: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 43

Fadic Fadic Permutation Permutation [ 3 1 0 0 ][ 3 1 0 0 ] 1. Increment each digit by 1.1. Increment each digit by 1.

– [4 2 1 1 ][4 2 1 1 ] 2. Bring down 12. Bring down 1stst digit digit

– { ? ? ? { ? ? ? 11}} 3. Bring down next digit, 3. Bring down next digit, dd

Page 44: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 44

Fadic Fadic Permutation Permutation [ 3 1 0 0 ][ 3 1 0 0 ] 1. Increment each digit by 1.1. Increment each digit by 1.

– [4 2 1 1 ][4 2 1 1 ] 2. Bring down 12. Bring down 1stst digit digit

– { ? ? ? { ? ? ? 11}} 3. Bring down next digit, 3. Bring down next digit, dd

– {? ? {? ? 11 1 } 1 }

Page 45: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 45

Fadic Fadic Permutation Permutation [ 3 1 0 0 ][ 3 1 0 0 ] 1. Increment each digit by 1.1. Increment each digit by 1.

– [4 2 1 1 ][4 2 1 1 ] 2. Bring down 12. Bring down 1stst digit digit

– { ? ? ? { ? ? ? 11}} 3. Bring down next digit, 3. Bring down next digit, dd

– {? ? {? ? 11 1 } 1 } 4. For every digit, r, to the right of d, such 4. For every digit, r, to the right of d, such

that r that r d, increment r. d, increment r.

Page 46: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 46

Fadic Fadic Permutation Permutation [ 3 1 0 0 ][ 3 1 0 0 ] 1. Increment each digit by 1.1. Increment each digit by 1.

– [4 2 1 1 ][4 2 1 1 ] 2. Bring down 12. Bring down 1stst digit digit

– { ? ? ? { ? ? ? 11}} 3. Bring down next digit, 3. Bring down next digit, dd

– {? ? {? ? 11 1 } 1 } 4. For every digit, r, to the right of d, such that r 4. For every digit, r, to the right of d, such that r

d, increment r. d, increment r.– {? ? {? ? 11 22 } }

Page 47: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 47

Fadic Fadic Permutation Permutation [ 3 1 0 0 ][ 3 1 0 0 ] 1. Increment each digit by 1.1. Increment each digit by 1.

– [4 2 1 1 ][4 2 1 1 ] 2. Bring down 12. Bring down 1stst digit digit

– { ? ? ? { ? ? ? 11}} 3. Bring down next digit, 3. Bring down next digit, dd

– {? ? {? ? 11 1 } 1 } 4. For every digit, r, to the right of d, such that r 4. For every digit, r, to the right of d, such that r d, d,

increment r.increment r.– {? ? {? ? 11 22 } }

5. Repeat 3 & 4 until finished.5. Repeat 3 & 4 until finished.

Page 48: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 48

Fadic Fadic Permutation Permutation [ 4 2 1 1][ 4 2 1 1]

Page 49: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 49

Fadic Fadic Permutation Permutation [ 4 2 1 1][ 4 2 1 1] { ? ? ? { ? ? ? 11 } }

Page 50: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 50

Fadic Fadic Permutation Permutation [ 4 2 1 1][ 4 2 1 1] { ? ? ? { ? ? ? 11 } } {? ? {? ? 1 1 1 }1 }

Page 51: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 51

Fadic Fadic Permutation Permutation [ 4 2 1 1][ 4 2 1 1] { ? ? ? { ? ? ? 11 } } {? ? {? ? 1 1 1 }1 } {? ? {? ? 1 1 22 } }

Page 52: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 52

Fadic Fadic Permutation Permutation [ 4 2 1 1][ 4 2 1 1] { ? ? ? { ? ? ? 11 } } {? ? {? ? 1 1 1 }1 } {? ? {? ? 1 1 22 } } {? {? 2 2 11 2 }2 }

Page 53: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 53

Fadic Fadic Permutation Permutation [ 4 2 1 1][ 4 2 1 1] { ? ? ? { ? ? ? 11 } } {? ? {? ? 1 1 1 }1 } {? ? {? ? 1 1 22 } } {? {? 2 2 11 2 }2 } {? {? 2 2 11 3 3 } }

Page 54: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 54

Fadic Fadic Permutation Permutation [ 4 2 1 1][ 4 2 1 1] { ? ? ? { ? ? ? 11 } } {? ? {? ? 1 1 1 }1 } {? ? {? ? 1 1 22 } } {? {? 2 2 11 2 }2 } {? {? 2 2 11 3 3 } } { { 4 4 2 1 3 }2 1 3 }

Page 55: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 55

Fadic Fadic Permutation Permutation [ 4 2 1 1][ 4 2 1 1] { ? ? ? { ? ? ? 11 } } {? ? {? ? 1 1 1 }1 } {? ? {? ? 1 1 22 } } {? {? 2 2 11 2 }2 } {? {? 2 2 11 3 3 } } { { 4 4 2 1 3 }2 1 3 } { 4 2 1 3 }{ 4 2 1 3 }

Page 56: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 56

Fadic Fadic Permutation Permutation [ 4 2 1 1][ 4 2 1 1] { ? ? ? { ? ? ? 11 } } {? ? {? ? 1 1 1 }1 } {? ? {? ? 1 1 22 } } {? {? 2 2 11 2 }2 } {? {? 2 2 11 3 3 } } { { 4 4 2 1 3 }2 1 3 } { 4 2 1 3 }{ 4 2 1 3 } 6. Decrement each number by 1.6. Decrement each number by 1.

Page 57: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 57

Fadic Fadic Permutation Permutation [ 4 2 1 1][ 4 2 1 1] { ? ? ? { ? ? ? 11 } } {? ? {? ? 1 1 1 }1 } {? ? {? ? 1 1 22 } } {? {? 2 2 11 2 }2 } {? {? 2 2 11 3 3 } } { { 4 4 2 1 3 }2 1 3 } { 4 2 1 3 }{ 4 2 1 3 } 6. Decrement each number by 1.6. Decrement each number by 1.

– {3 1 0 2 }{3 1 0 2 }

Page 58: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 58

Fadic Fadic Permutation Permutation Sample Code:Sample Code:For i = 0 To n – 1 :: fadic_plus(i) = fadic(i) + 1 perm(n - 1) = 1 For j = n - 2 To 0 Step -1 nextEntry = fadic_plus(j) perm(j) = nextEntry For i = j + 1 To n – 1

If perm(i) >= nextEntry Then perm(i) = perm(i) + 1 For i = 0 To n - 1 perm(i) = perm(i) - 1 Next i

Page 59: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 59

Factoradics & EncryptionFactoradics & Encryption

Encryption SummaryEncryption SummarySimple ExampleSimple Example

Page 60: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 60

Encryption SummaryEncryption Summary

•Factoradics provide a way of generating permutationsFactoradics provide a way of generating permutations

Generate Factoradic

Obtain permutation

from factoradic

Use permutation to rearrange

bits

Page 61: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 61

3 1 0 2

Original Binary Data:Original Binary Data:

Use Permutation to swap bitsUse Permutation to swap bitsObtained Permutation:Obtained Permutation:

1 0 1 01 0 1 0

Encrypted Bit Array Data:Encrypted Bit Array Data:

00 11 22 33

Page 62: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 62

3 1 0 2

Original Binary Data:Original Binary Data:

Use Permutation to swap bitsUse Permutation to swap bitsObtained Permutation:Obtained Permutation:

1 0 1 01 0 1 0

Encrypted Bit Array Data:Encrypted Bit Array Data:

11

00 11 22 33

Page 63: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 63

3 1 0 2

Original Binary Data:Original Binary Data:

Use Permutation to swap bitsUse Permutation to swap bitsObtained Permutation:Obtained Permutation:

1 0 1 01 0 1 0

Encrypted Bit Array Data:Encrypted Bit Array Data:

1100

00 11 22 33

Page 64: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 64

3 1 0 2

Original Binary Data:Original Binary Data:

Use Permutation to swap bitsUse Permutation to swap bitsObtained Permutation:Obtained Permutation:

1 0 1 01 0 1 0

Encrypted Bit Array Data:Encrypted Bit Array Data:

110011

00 11 22 33

Page 65: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 65

3 1 0 2

Original Binary Data:Original Binary Data:

Use Permutation to swap bitsUse Permutation to swap bitsObtained Permutation:Obtained Permutation:

1 0 1 01 0 1 0

Encrypted Bit Array Data:Encrypted Bit Array Data:

110011 00

00 11 22 33

Page 66: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 66

Semi-dynamic Semi-dynamic EncryptionEncryption

SdE OverviewSdE OverviewKey re-orderingKey re-orderingDynamic Key generationDynamic Key generationBasic algorithmBasic algorithmPreliminary resultsPreliminary results

Page 67: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 67

SdE OverviewSdE OverviewMeta-keyMeta-key is key set is key setPrimaryPrimary keys used to encrypt keys used to encryptSecondarySecondary keys re-order other keys re-order other

keyskeysOperations on key set generate Operations on key set generate

new keysnew keys

Page 68: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 68

Key Re-OrderingKey Re-OrderingKeys: [kKeys: [k00 k k11 k k22 k k33 ] ]

R-key: [ 1 3 0 2 ]R-key: [ 1 3 0 2 ]

Page 69: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 69

Key Re-OrderingKey Re-OrderingKeys: [kKeys: [k00 k k11 k k22 k k33 ] ]

R-key: [ 1 3 0 2 ]R-key: [ 1 3 0 2 ]Resulting orders:Resulting orders:

– [k[k00 k k11 k k22 k k33 ] ]

Page 70: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 70

Key Re-OrderingKey Re-OrderingKeys: [kKeys: [k00 k k11 k k22 k k33 ] ]

R-key: [ 1 3 0 2 ]R-key: [ 1 3 0 2 ]Resulting orders:Resulting orders:

– [k[k00 k k11 k k22 k k33 ] ]

– [k[k11 k k33 k k00 k k22 ] ]

Page 71: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 71

Key Re-OrderingKey Re-OrderingKeys: [kKeys: [k00 k k11 k k22 k k33 ] ]

R-key: [ 1 3 0 2 ]R-key: [ 1 3 0 2 ]Resulting orders:Resulting orders:

– [k[k00 k k11 k k22 k k33 ] ]

– [k[k11 k k33 k k00 k k22 ] ]

– [k[k33 k k22 k k11 k k00 ] ]

Page 72: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 72

Key Re-OrderingKey Re-OrderingKeys: [kKeys: [k00 k k11 k k22 k k33 ] ]

R-key: [ 1 3 0 2 ]R-key: [ 1 3 0 2 ]Resulting orders:Resulting orders:

– [k[k00 k k11 k k22 k k33 ] ]

– [k[k11 k k33 k k00 k k22 ] ]

– [k[k33 k k22 k k11 k k00 ] ]

– [k[k22 k k00 k k33 k k11 ] ]

Page 73: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 73

Key Re-OrderingKey Re-Ordering Keys: [kKeys: [k00 k k11 k k22 k k33 ] ]

R-key: [ 1 3 0 2 ]R-key: [ 1 3 0 2 ] Resulting orders:Resulting orders:

– [k[k00 k k11 k k22 k k33 ] ]

– [k[k11 k k33 k k00 k k22 ] ]

– [k[k33 k k22 k k11 k k00 ] ]

– [k[k22 k k00 k k33 k k11 ] ]

– [k[k00 k k11 k k22 k k33 ] ]

Page 74: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 74

Key Re-OrderingKey Re-Ordering Keys: [kKeys: [k00 k k11 k k22 k k33 ] ] R-key: [ 1 3 0 2 ]R-key: [ 1 3 0 2 ] Resulting orders:Resulting orders:

– [k[k00 k k11 k k22 k k33 ] ]– [k[k11 k k33 k k00 k k22 ] ]– [k[k33 k k22 k k11 k k00 ] ]– [k[k22 k k00 k k33 k k11 ] ]– [k[k00 k k11 k k22 k k33 ] ]

Disadvantage: patternsDisadvantage: patterns

Page 75: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 75

Dynamic Key GenerationDynamic Key GenerationFadic Fadic Perm Perm Key KeyFadic + Fadic Fadic + Fadic Fadic mod n! Fadic mod n!Use base fadic to generate fadicUse base fadic to generate fadicUse new fadic to generate keyUse new fadic to generate keyRepeatRepeat

Page 76: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 76

DKG ExampleDKG Example Base = Base = [ 2 2 1 0 ][ 2 2 1 0 ]

Page 77: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 77

DKG ExampleDKG Example Base = Base = [ 2 2 1 0 ][ 2 2 1 0 ] [ 0 0 0 0 ] + [ 0 0 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 2 1 0 ] [ 2 2 1 0 ] {2 3 1 0}{2 3 1 0}

Page 78: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 78

DKG ExampleDKG Example Base = Base = [ 2 2 1 0 ][ 2 2 1 0 ] [ 0 0 0 0 ] + [ 0 0 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 2 1 0 ] [ 2 2 1 0 ] {2 3 1 0}{2 3 1 0} [ 2 2 1 0 ] + [ 2 2 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 1 2 0 0 ] [ 1 2 0 0 ] {1 3 0 2}{1 3 0 2}

Page 79: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 79

DKG ExampleDKG Example Base = Base = [ 2 2 1 0 ][ 2 2 1 0 ] [ 0 0 0 0 ] + [ 0 0 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 2 1 0 ] [ 2 2 1 0 ] {2 3 1 0}{2 3 1 0} [ 2 2 1 0 ] + [ 2 2 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 1 2 0 0 ] [ 1 2 0 0 ] {1 3 0 2}{1 3 0 2} [ 1 2 0 0 ] + [ 1 2 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 0 1 1 0 ] [ 0 1 1 0 ] {0 2 3 1}{0 2 3 1}

Page 80: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 80

DKG ExampleDKG Example Base = Base = [ 2 2 1 0 ][ 2 2 1 0 ] [ 0 0 0 0 ] + [ 0 0 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 2 1 0 ] [ 2 2 1 0 ] {2 3 1 0}{2 3 1 0} [ 2 2 1 0 ] + [ 2 2 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 1 2 0 0 ] [ 1 2 0 0 ] {1 3 0 2}{1 3 0 2} [ 1 2 0 0 ] + [ 1 2 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 0 1 1 0 ] [ 0 1 1 0 ] {0 2 3 1}{0 2 3 1} [ 0 1 1 0 ] + [ 0 1 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 3 1 0 0 ] [ 3 1 0 0 ] {3 1 0 2}{3 1 0 2}

Page 81: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 81

DKG ExampleDKG Example Base = Base = [ 2 2 1 0 ][ 2 2 1 0 ] [ 0 0 0 0 ] + [ 0 0 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 2 1 0 ] [ 2 2 1 0 ] {2 3 1 0}{2 3 1 0} [ 2 2 1 0 ] + [ 2 2 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 1 2 0 0 ] [ 1 2 0 0 ] {1 3 0 2}{1 3 0 2} [ 1 2 0 0 ] + [ 1 2 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 0 1 1 0 ] [ 0 1 1 0 ] {0 2 3 1}{0 2 3 1} [ 0 1 1 0 ] + [ 0 1 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 3 1 0 0 ] [ 3 1 0 0 ] {3 1 0 2}{3 1 0 2} [ 3 1 0 0 ] + [ 3 1 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 0 1 0 ] [ 2 0 1 0 ] {2 0 3 1}{2 0 3 1}

Page 82: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 82

DKG ExampleDKG Example Base = Base = [ 2 2 1 0 ][ 2 2 1 0 ] [ 0 0 0 0 ] + [ 0 0 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 2 1 0 ] [ 2 2 1 0 ] {2 3 1 0}{2 3 1 0} [ 2 2 1 0 ] + [ 2 2 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 1 2 0 0 ] [ 1 2 0 0 ] {1 3 0 2}{1 3 0 2} [ 1 2 0 0 ] + [ 1 2 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 0 1 1 0 ] [ 0 1 1 0 ] {0 2 3 1}{0 2 3 1} [ 0 1 1 0 ] + [ 0 1 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 3 1 0 0 ] [ 3 1 0 0 ] {3 1 0 2}{3 1 0 2} [ 3 1 0 0 ] + [ 3 1 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 0 1 0 ] [ 2 0 1 0 ] {2 0 3 1}{2 0 3 1} [ 2 0 1 0 ] + [ 2 0 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 1 0 0 0 ] [ 1 0 0 0 ] {1 0 2 3}{1 0 2 3}

Page 83: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 83

DKG ExampleDKG Example Base = Base = [ 2 2 1 0 ][ 2 2 1 0 ] [ 0 0 0 0 ] + [ 0 0 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 2 1 0 ] [ 2 2 1 0 ] {2 3 1 0}{2 3 1 0} [ 2 2 1 0 ] + [ 2 2 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 1 2 0 0 ] [ 1 2 0 0 ] {1 3 0 2}{1 3 0 2} [ 1 2 0 0 ] + [ 1 2 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 0 1 1 0 ] [ 0 1 1 0 ] {0 2 3 1}{0 2 3 1} [ 0 1 1 0 ] + [ 0 1 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 3 1 0 0 ] [ 3 1 0 0 ] {3 1 0 2}{3 1 0 2} [ 3 1 0 0 ] + [ 3 1 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 0 1 0 ] [ 2 0 1 0 ] {2 0 3 1}{2 0 3 1} [ 2 0 1 0 ] + [ 2 0 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 1 0 0 0 ] [ 1 0 0 0 ] {1 0 2 3}{1 0 2 3} [ 1 0 0 0 ] + [ 1 0 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 3 2 1 0 ] [ 3 2 1 0 ] {3 2 1 0}{3 2 1 0}

Page 84: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 84

DKG ExampleDKG Example Base = Base = [ 2 2 1 0 ][ 2 2 1 0 ] [ 0 0 0 0 ] + [ 0 0 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 2 1 0 ] [ 2 2 1 0 ] {2 3 1 0}{2 3 1 0} [ 2 2 1 0 ] + [ 2 2 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 1 2 0 0 ] [ 1 2 0 0 ] {1 3 0 2}{1 3 0 2} [ 1 2 0 0 ] + [ 1 2 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 0 1 1 0 ] [ 0 1 1 0 ] {0 2 3 1}{0 2 3 1} [ 0 1 1 0 ] + [ 0 1 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 3 1 0 0 ] [ 3 1 0 0 ] {3 1 0 2}{3 1 0 2} [ 3 1 0 0 ] + [ 3 1 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 0 1 0 ] [ 2 0 1 0 ] {2 0 3 1}{2 0 3 1} [ 2 0 1 0 ] + [ 2 0 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 1 0 0 0 ] [ 1 0 0 0 ] {1 0 2 3}{1 0 2 3} [ 1 0 0 0 ] + [ 1 0 0 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 3 2 1 0 ] [ 3 2 1 0 ] {3 2 1 0}{3 2 1 0} [ 3 2 1 0 ] + [ 3 2 1 0 ] + [ 2 2 1 0 ][ 2 2 1 0 ] = = [ 2 2 0 0 ] [ 2 2 0 0 ] {2 3 0 1}{2 3 0 1}

Page 85: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 85

Basic AlgorithmBasic Algorithm11stst round of encryption round of encryptionIntermediate bit shufflingIntermediate bit shuffling22ndnd round of encryption round of encryption

Page 86: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 86

11stst Encryption Round Encryption RoundPrimary keyPrimary keyIteration count keyIteration count keyPrimary jump keyPrimary jump keyIC shuffle keyIC shuffle keyPJ shuffle keyPJ shuffle key

Page 87: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 87

11stst Encryption Round Encryption RoundPrimary keyPrimary key

– encodes 8 bits of plaintextencodes 8 bits of plaintextIteration count keyIteration count key

–how long a primary key usedhow long a primary key usedPrimary jump keyPrimary jump key

–computes fadic/primary keycomputes fadic/primary key

Page 88: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 88

11stst Encryption Round Encryption RoundIC shuffle keyIC shuffle key

– computes next iteration count keycomputes next iteration count keyPJ shuffle keyPJ shuffle key

– computes next primary jump keycomputes next primary jump key

Page 89: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 89

Intermediate ShufflingIntermediate Shuffling Transposition keyTransposition key

– transposes m bits of cipher text from transposes m bits of cipher text from 11stst round round

Transposition jump keyTransposition jump key– computes next transposition keycomputes next transposition key

TJ shuffle keyTJ shuffle key– computes next transposition jump keycomputes next transposition jump key

Page 90: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 90

22ndnd Encryption Round Encryption RoundRe-encrypts intermediate bitsRe-encrypts intermediate bitsSame algorithm as 1Same algorithm as 1stst round roundHas own set of keysHas own set of keys

Page 91: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 91

Preliminary ResultsPreliminary Results

11stst Test – highly repetitious plain Test – highly repetitious plain texttext

65,536 bits – all zeros65,536 bits – all zerosLook for recurrence of bit Look for recurrence of bit

patternspatterns

Page 92: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 92

Preliminary ResultsPreliminary Results65K bits65K bits

Occurrences of arbitrary bit sequencesOccurrences of arbitrary bit sequences12-bit sequences: 15-18 times12-bit sequences: 15-18 times14-bit sequences: 5-7 times14-bit sequences: 5-7 times16-bit sequences: 1-3 times16-bit sequences: 1-3 times18- & 20-bit sequences: 1 time18- & 20-bit sequences: 1 time

Page 93: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 93

Distance TestDistance Test

Probability of distances between Probability of distances between occurrences of bit stringsoccurrences of bit strings

Example: 3-bit sequencesExample: 3-bit sequences P(bP(b1 1 bb22bb3 3 bb1 1 bb22bb33) = 1/8 = .125) = 1/8 = .125

P(bP(b1 1 bb22bb3 3 bb1 1 xx1 1 xx2 2 xx33bb11bb22bb33) = 7/8 * 1/8 = .10935) = 7/8 * 1/8 = .10935

P(bP(b1 1 bb22bb3 3 bb11[x[x1 1 xx2 2 xx33]]nnbb11bb22bb33) = (7/8)) = (7/8)nn * 1/8 * 1/8

Page 94: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 94

Distance Test Results: 134MDistance Test Results: 134M** bits bits Occurrences of 111Occurrences of 111 1 699049 .1249618 .1251 699049 .1249618 .125 2 612243 .1094444 .1093752 612243 .1094444 .109375 3 536716 .0959432 .09570313 536716 .0959432 .0957031 4 468716 .0837875 .08374024 468716 .0837875 .0837402 5 409291 .0731647 .07327275 409291 .0731647 .0732727 6 357330 .0638762 .06411366 357330 .0638762 .0641136 7 313349 .0560142 .05609947 313349 .0560142 .0560994 8 274349 .0490426 .0490878 274349 .0490426 .049087 9 240059 .0429129 .04295119 240059 .0429129 .0429511 10 210642 .0376543 .037582210 210642 .0376543 .0375822 11 183825 .0328605 .032884411 183825 .0328605 .0328844 12 161219 .0288195 .028773912 161219 .0288195 .0287739 13 141077 .0252189 .025177213 141077 .0252189 .0251772 14 123695 .0221117 .0220314 123695 .0221117 .02203 15 107988 .0193039 .019276315 107988 .0193039 .0192763 16 94514 .0168953 .016866716 94514 .0168953 .0168667 17 82668 .0147777 .014758417 82668 .0147777 .0147584 18 72374 .0129376 .012913618 72374 .0129376 .0129136 19 63362 .0113266 .011299419 63362 .0113266 .0112994 20 55279 .0098817 .00988720 55279 .0098817 .009887

**134,217,728 = 2134,217,728 = 22727

Page 95: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 95

Distance Test Results: 134MDistance Test Results: 134M** bits bits Occurrences of 111Occurrences of 111

1 699049 .1249618 .1251 699049 .1249618 .125

2 612243 .1094444 .1093752 612243 .1094444 .109375

3 536716 .0959432 .09570313 536716 .0959432 .0957031

4 468716 .0837875 .08374024 468716 .0837875 .0837402

5 409291 .0731647 .07327275 409291 .0731647 .0732727**134,217,728 = 2134,217,728 = 22727

Page 96: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 96

Occurrence Test Results: 134M bitsOccurrence Test Results: 134M bits Number of occurrences:Number of occurrences:000 is 5591658 000 is 5591658 001 is 5590568 001 is 5590568 010 is 5592818 010 is 5592818 011 is 5592478 011 is 5592478 100 is 5589295 100 is 5589295 101 is 5592467 101 is 5592467 110 is 5595849 110 is 5595849 111 is 5594101 111 is 5594101

Page 97: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 97

Current InvestigationsCurrent Investigations Chris MraovichChris Mraovich

– wrote decryption codewrote decryption code– encoded binary filesencoded binary files– working on speed-upworking on speed-up

Jeremy VaughanJeremy Vaughan– studying tests of randomnessstudying tests of randomness– writing randomness testing codewriting randomness testing code

Page 98: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

2006 Kutztown University 98

Future WorkFuture Work Investigate hardware Investigate hardware

implementationimplementation Use other randomness testsUse other randomness tests Test actual plaintextsTest actual plaintexts Experiment with variationsExperiment with variations

– Staggering the primary block sizeStaggering the primary block size– Frequency of shufflingFrequency of shuffling– Choices of key setChoices of key set– How many rounds?How many rounds?

Page 99: Factoradics and Semi-dynamic Encryption Oskars Rieksts with Chris Mraovich & Jeremy Vaughan Kutztown University.

QuestionsQuestions

??