/ Forside / Teknologi / Internet / Sikkerhed / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Sikkerhed
#NavnPoint
stl_s 37026
arlet 26827
miritdk 20260
o.v.n. 12167
als 8951
refi 8694
tedd 8272
BjarneD 7338
Klaudi 7257
10  molokyle 6481
Analyse af Krypteringsprogram
Fra : Lene


Dato : 02-12-01 09:02

Er der en herinde der seriøst vil/kan kikke på nedenstående program. Dig jeg
søger der skal gøre det, skal have et godt kendskab til Kryptografi og
matematik. Når jeg mener kikke på det seriøst så mener jeg sætte sig ind i
hvordan man anvender krypteringen i programmet og vurderer om det er ok,
evt. lave nogle test. Når jeg skriver sætte sig ind i så mener jeg ikke et
overfladisk syn på hvad det mon er for en metode, og så bare henvise til en
eller anden FAQ side, men af interesse eller nysgerrighed virkelig afprøve
og sætte sig ind i de metoder der anvendes, for at kunne komme med en seriøs
vurdering af programmets effektivitet/sikkerhed.
En teoretisk ord krig om programmet nu laver random data, fører ikke til
noget, men en seriøs vurdering af metoden kunne give et praj om metoden der
anvendes er, om end ikke teoretisk sikker så praktisk sikker.
Når du anvender PGP så genererer PGP en symmetrisk nøgle til selve
krypteringen, det er den der krypteres af RSA algoritmen. I dette program
kan man lave nogle små filer ( OTP Filer ) hvoraf der bliver udtrukket en
symmetrisk nøgle på 20.000 bit ( PGP anvender 128 bit ), når den symmetriske
kryptering har anvendt den til at krypterer din mail/dokument med, så er det
NAVNET på denne fil der krypteres med RSA algoritmen. Selv om man altså brød
den så er det kun afsenderen og modtageren der har den rigtige nøgle på de
20.000 bit til at dekrypterer med. Efter at have anvendt den pågældende
nøgle wipes den og kan derfor kun bruges en gang. ( Her af navnet OTP fil )
Det har også den store og unikke fordel at opsnappet mail IKKE kan
dekrypteres selv om man får fat i dine nøgler og password, da hver enkel
mail jo har haft hver sin OTP fil der nu er wipet. Se det er smart.

Lad mig høre fra nogle kloge og spændende personer.

Venligst

Lene K.

PS: Programmet kan hentes på topsecretcrypto.com





 
 
Alex Holst (02-12-2001)
Kommentar
Fra : Alex Holst


Dato : 02-12-01 16:51

Lene <lenefox@ofir.dk> wrote:
> Er der en herinde der seriøst vil/kan kikke på nedenstående program. Dig jeg
> søger der skal gøre det, skal have et godt kendskab til Kryptografi og
> matematik. Når jeg mener kikke på det seriøst så mener jeg sætte sig ind i
> hvordan man anvender krypteringen i programmet og vurderer om det er ok,
> evt. lave nogle test.

Det bliver dyrt. Inden vi begynder, hvor skal kontrakten sendes hen?

--
I prefer the dark of the night, after midnight and before four-thirty,
when it's more bare, more hollow. http://a.area51.dk/


Andreas Falck (02-12-2001)
Kommentar
Fra : Andreas Falck


Dato : 02-12-01 17:59

"Alex Holst" <a@area51.dk> skrev i en meddelelse
news:slrna0kjed.150m.a@C-Tower.Area51.DK...

[ ... ]
> Det bliver dyrt. Inden vi begynder, hvor skal kontrakten sendes hen?

Til undertegne, så jeg kan tilrette den for at sikre at jeg får den
største del af kagen )

Andreas Falck - ICQ 108 480 093
--
"Skabelse og Syndflod" - http://www.syndflod.dk
"Det evige Evangelium" - http://www.sdanet.dk
"Bibelsk lære om sjælen" - http://www.sda-net.dk/~tror/
Min nye side - http://www.sda-net.dk/~tester/ - giv en kommentar!


Christian E. Lysel (02-12-2001)
Kommentar
Fra : Christian E. Lysel


Dato : 02-12-01 22:16

Lene wrote:

> Når du anvender PGP så genererer PGP en symmetrisk nøgle til selve
> krypteringen, det er den der krypteres af RSA algoritmen. I dette program
> kan man lave nogle små filer ( OTP Filer ) hvoraf der bliver udtrukket en
> symmetrisk nøgle på 20.000 bit ( PGP anvender 128 bit ), når den symmetriske


Hvordan bliver nøgen "udtrukket"?


Hvorfor viser du nøgle størrelserne mellem PGP og dette produkt. Hvilken
algoritme bruger dette produkt?

Hvor tilfældigt valgt er 20kbit nøglen, er det i virkeligheden en 10bits
nøgle, grundet en fejl implementation.

> kryptering har anvendt den til at krypterer din mail/dokument med, så er det
> NAVNET på denne fil der krypteres med RSA algoritmen. Selv om man altså brød


Navnet? *suk* hvad har det med sagen at gøre. Om filen hedder test.txt
eller ekodijeu er da ligegyldigt...eller har jeg overset noget?


Hvordan dannes nøglerne til RSA?

> den så er det kun afsenderen og modtageren der har den rigtige nøgle på de


den=RSA nøglen?

> 20.000 bit til at dekrypterer med. Efter at have anvendt den pågældende


Hvordan bliver 20kbit nøglen distribueret?

> nøgle wipes den og kan derfor kun bruges en gang. ( Her af navnet OTP fil )


Hvorfor slettes nøglen? Er der da noget galt med krypteringen, til at
nøglen er usikker?

*suk* Jeg har nu læst hjemmesiden, den gennemgår 3 metoder: 1, 2 og 3.

Hvilken metode snakker du om? 20kbit nøglen kan jeg ikke finde i
teksten, så gætter på det er metode 3 du snakker om.

Metode 3, må være en XOR kryptering, da nøglen skal have samme størrelse
som budskabet. XOR er god, men nøglen er symmetrisk og har samme længde
som budskabet, derfor skal du transportere nøglen sikkert. Men kan du
tranportere nøglen sikkert, kan du lige så godt sende budskabet.

Den eneste fordel, der kan være er metoden hvorved nøglen sendes. Hvis
man kan registere at nøglen er kopieret, er nøglen usikker. Derfor
undlader man at sende budskabet krypteret med den usikre nøglen


> Det har også den store og unikke fordel at opsnappet mail IKKE kan
> dekrypteres selv om man får fat i dine nøgler og password, da hver enkel
> mail jo har haft hver sin OTP fil der nu er wipet. Se det er smart.


Men hvordan distribuere du OTP filen?


> Lad mig høre fra nogle kloge og spændende personer.
>
> Venligst
>
> Lene K.
>
> PS: Programmet kan hentes på topsecretcrypto.com


Kasper Dupont (02-12-2001)
Kommentar
Fra : Kasper Dupont


Dato : 02-12-01 22:39

Christian E. Lysel wrote:
>
> Hvordan bliver nøgen "udtrukket"?
^^^^^
Ups? (-:

>
> Metode 3, må være en XOR kryptering, da nøglen skal have samme størrelse
> som budskabet. XOR er god, men nøglen er symmetrisk og har samme længde
> som budskabet, derfor skal du transportere nøglen sikkert. Men kan du
> tranportere nøglen sikkert, kan du lige så godt sende budskabet.

Der er den mulighed, at en stor mængde nøgle data kan udveksles på
forhånd. Hvis parterne der ønsker at kommunikere over nettet mødes
en sjælden gang i mellem kan de ved denne lejlighed udveksle CD'er
med tilfældige bits.

>
> Den eneste fordel, der kan være er metoden hvorved nøglen sendes. Hvis
> man kan registere at nøglen er kopieret, er nøglen usikker. Derfor
> undlader man at sende budskabet krypteret med den usikre nøglen

Det er en anden fordel ved XOR krypteringen. Dette bruges f.eks.
når der anvendes kvantekryptering til at overføre nøglen. (Det
bruges mig bekendt endnu ikke i praksis, men der eksperimenteres
med det.)

--
Kasper Dupont

Lene (03-12-2001)
Kommentar
Fra : Lene


Dato : 03-12-01 08:29


"Christian E. Lysel" <chlyshoswmdatapunktumcom@example.net> skrev i en
meddelelse news:3C0A9A1B.2010308@example.net...

Til Christian E. Lysel

OK du stiller en mængde spørgsmål, mange af dem kunne du få besvaret ved at
læse i hjælpe filen til TSC men jeg skal gerne svare på dine spørgsmål.


>Hvordan bliver nøgen "udtrukket"?

This is why Top Secret Crypto includes a second method for seeding its
pseudo random number generators, or encryption formula. It can create One
Time Pad (OTP) Key Files, each of which contains 1,303 randomly generated
numbers in the range 100,000,001 to 4,294,967,295. Each number is 32 bits
long. From the 1,303 random numbers in an OTP Key file, 768 numbers are
randomly selected to seed the 256 pseudo random number generators used in
the encryption process. 512 of the 768 random numbers use the full 32 bits
for 16,384 bits. The other 256 are shifted right by a factor of 17 to 24
leaving 8 to 15 bits. This gives you 2,048 to 3,840 more bits. Add in 37
more for an initial seed and random factor array shift valve for a final
total of somewhere between 18,469 and 20,261 bits used as the Initial
Condition for the 256 pseudo random number generators.


>Hvorfor viser du nøgle størrelserne mellem PGP og dette produkt. Hvilken
>algoritme bruger dette produkt?

Just plug in all possible seed numbers into the formula using a super
computer and within a matter of hours any message can be decoded. This is
the bane of most encryption formulas. They try to keep the seed number small
by using very complex and lengthy formulas because human beings, you and me,
do not like to enter 100 and 200 digit seed numbers into a computer every
time we have to encipher or decipher a message. The small seed number is
their Achilles Heel.
Most pseudo random number generators can produce a long string of random
numbers, or characters, to encrypt a file with. (A pseudo random number
generator can be considered a stream cipher and its output a pseudo One Time
Pad.) What we want to determine is what makes a good pseudo random number
generator, or another way to put it is what pseudo random number generator
makes a good encryption formula.
A complex encryption formula seems like a good idea. But that is forgetting
one of the basic rules of cryptography: The General System is known - to
everyone. If you buy a commercial encryption program that is sold over the
counter, you have the general system for that product. You do not even have
to understand its complex encryption process. The program does it all for
you. DES has a very complicated encryption formula, but only a 56-bit key.
It can be broken with ease. It also burns up computer cycles and takes a
long time, relatively, to encrypt or decrypt a file.
The only thing left is the seed, key, or what I call the Initial Conditions
that start the pseudo random number generator in the encryption formula
going. The larger the number of seeds that can start an encryption formula,
the better. DES with its 56-bit key is no good. 2 to the 56th power equals
7.205 times 10 to the 16th power. PGPT uses the IdealT Encryption Formula,
which uses a 128-bit key. 2 to the 128th power equals 3.402 times 10 to the
38th power. It you believe Tom Clancy in Rainbow Six this is not even good
enough any more. Depending on the size of the smallest RSA Key used, Top
Secret Crypto will seed 4, 8, 16, 32, or 64 random number generators, which
require 325-353, 613-669, 1189-1301, 2341-2565, or 4645-5093 random bits as
the key, when sending an encrypted file to multiple recipients. As long as
the NSA cannot break the RSA Public Key Encryption System, these key sizes
should be sufficient.
>Hvor tilfældigt valgt er 20kbit nøglen, er det i virkeligheden en 10bits
nøgle, grundet en fejl implementation.

Se det med en fejl implementation har du ret i kan være et problem, ud fra
de test og forsøg jeg har lavet er der ingen fejl. Men det er jo netop dette
jeg fra starten var inde på. Vi har umiddelbart et rigtig godt program og
det som mangler er en grundig test og efterfølgende godkendelse af hvad
programmet lover.

>Navnet? *suk* hvad har det med sagen at gøre. Om filen hedder test.txt
>eller ekodijeu er da ligegyldigt...eller har jeg overset noget?

Se det er fordi du ikke helt har set det geniale i sagen. Det er lige meget
hvad filen hedder, det har du ret i. Det der er kærnen i sagen er at hvis du
kan få brudt RSA krypteringen vil du ved PGP herved få nøglen til at
dekrypterer din mail med, altså den symmetrisk kryptering. Men ved brug af
OTP filer indeholder RSA krypteringen kun navnet på OTP filen og du vil
derved ikke kunne dekrypterer mailen selv om du bryder RSA krypteringen.

>Hvordan dannes nøglerne til RSA?

Hvordan de dannes må jeg henvise til Hjemmesiden for RSA, det er en kendt
metode der anvendes. Dog skal nævnes at der indføres nogle seprationsbit
mellem de to primtal for at gøre det meget svært at finde dem igen.

>Hvordan bliver 20kbit nøglen distribueret?

Metode 1 i TSC anvender samme metoder som i PGP, men med nøgler på op til
8192 Bit.
Ved metode 2 og 3 er du nød til at lave en diskette hvor der kan være ca.
300 OTP filer eller en CD som du udveksler med den du skal skrive sammen
med. Det er man nød til for at få den optimale sikkerhed.


>Hvorfor slettes nøglen? Er der da noget galt med krypteringen, til at
>nøglen er usikker?

Når du sender en mail til punkt B og du anvender en OTP fil wiper du den
efter brug, når den modtages af B dekrypteres den og herefter wipes OTP
filen hos B. Du vil herved altid bruge en frisk OTP fil og for at overholde
den gyldne regel om aldrig at anvende en nøgle to gange er det jo perfekt på
den måde. Næste gang du sender en mail til punkt B tager du en ny OTP fil
fra dit lager der hedder A og B. Når du bruger OTP filer kan du nemlig kun
anvende dem mellem to personer.
Skal du skrive med en anden person må i lave et sæt OTP filer og kalde dem A
og C.


>*suk* Jeg har nu læst hjemmesiden, den gennemgår 3 metoder: 1, 2 og 3.
>Hvilken metode snakker du om? 20kbit nøglen kan jeg ikke finde i
>teksten, så gætter på det er metode 3 du snakker om.

20 kbit nøglen hvis vi kalder den sådan er metode 2.

Ved metode 3 laver du en f,eks 200 mb fil med randum data. Hver gang du
skriver en mail anvendes en tilsvarende størrelse i denne fil til at
krypterer din mail med. Derefter wipes det område i filen du lige har
anvendt og bruges ikke igen.

>Metode 3, må være en XOR kryptering, da nøglen skal have samme størrelse
>som budskabet. XOR er god, men nøglen er symmetrisk og har samme længde
>som budskabet, derfor skal du transportere nøglen sikkert. Men kan du
>tranportere nøglen sikkert, kan du lige så godt sende budskabet.

Men hvordan distribuere du OTP filen?

Normalt laver vi en CD med biblioteker f,eks 30 stk. med hver 500 Otp filer.
Herefter kopieres den så vi har to stk. Den ene er du nød til at overdrage
personligt eller på en anden sikker måde, det er vilkårene for en sikker
kryptering. Du tager herefter et bibliotek op på din harddisk, gerne i en
Scramdisk container, skiven gemmer du godt væk. Du kan nu sende/modtage 500
mail ( og det er mange ). Bliver de OTP filer du har på maskinen
kompromitteret kan du tage 500 friske fra lager.

Jeg håber det i første omgang var svar nok. Men man kommer meget langt hvis
man bruger lidt tid med programmet og læser i vejledningen. Det vil jeg
opfordre til.

Tak for din interesse.

Lene Knudsen.




Andreas Plesner Jaco~ (03-12-2001)
Kommentar
Fra : Andreas Plesner Jaco~


Dato : 03-12-01 10:15

In article <3c0b29dc$0$263$edfadb0f@dspool01.news.tele.dk>, Lene wrote:
>
>>Hvordan bliver nøgen "udtrukket"?
>
> This is why Top Secret Crypto includes a second method for seeding its
> pseudo random number generators, or encryption formula. It can create One
> Time Pad (OTP) Key Files, each of which contains 1,303 randomly generated
> numbers in the range 100,000,001 to 4,294,967,295. Each number is 32 bits

Og hvordan er det lige man genererer tilfældige tal på en computer?
Bitlængden er fuldstændig irrelevant, da hele konceptet er fejlbehæftet.
Som jeg læser teksten udvander de faktisk tilfældighedskonceptet
yderligere end blot at påstå at de laver OTP strømme ud fra
pseudotilfældighedsgeneratorer.

>>Hvorfor viser du nøgle størrelserne mellem PGP og dette produkt. Hvilken
>>algoritme bruger dette produkt?
>
> Just plug in all possible seed numbers into the formula using a super
> computer and within a matter of hours any message can be decoded. This is
> the bane of most encryption formulas. They try to keep the seed number small
> by using very complex and lengthy formulas because human beings, you and me,
> do not like to enter 100 and 200 digit seed numbers into a computer every
> time we have to encipher or decipher a message. The small seed number is
> their Achilles Heel.

Sludder, PGP/GnuPG bruger en stor mængde entropi-data, bl.a. tastetryk,
diskaktivitet og interrupts til at initialisere sin pseudo-tilfældige
funktion.

> Most pseudo random number generators can produce a long string of random
> numbers, or characters, to encrypt a file with. (A pseudo random number
> generator can be considered a stream cipher and its output a pseudo One Time
> Pad.) What we want to determine is what makes a good pseudo random number
> generator, or another way to put it is what pseudo random number generator
> makes a good encryption formula.

Netop ved at bruge et udtryk som "pseudo one time pad" har de
demonstreret at de ikke kender svaghederne bag deres metode. Et OTP er
_KUN_ sikkert, hvis det er 100% tilfældigt.
Læs også:
http://www.interhack.net/people/cmcurtin/snake-oil-faq.html#SECTION00057000000000000000

>>Hvor tilfældigt valgt er 20kbit nøglen, er det i virkeligheden en
>>10bits nøgle, grundet en fejl implementation.
>
> Se det med en fejl implementation har du ret i kan være et problem, ud fra
> de test og forsøg jeg har lavet er der ingen fejl. Men det er jo netop dette
> jeg fra starten var inde på. Vi har umiddelbart et rigtig godt program og
> det som mangler er en grundig test og efterfølgende godkendelse af hvad
> programmet lover.

Nej, udgangspunktet er usikkert, så implementationen er ubetydelig.

>>Hvordan dannes nøglerne til RSA?
>
> Hvordan de dannes må jeg henvise til Hjemmesiden for RSA, det er en kendt
> metode der anvendes. Dog skal nævnes at der indføres nogle seprationsbit
> mellem de to primtal for at gøre det meget svært at finde dem igen.

Nej, RSA specificerer ikke hvordan nøgler genereres; for at gøre dette
skal du generere disse meget store primtal. Da det er enormt
beregningsintensivt at bevise at et tal er et primtal benytter man ofte
nogle tests til at antyde at det er et primtal. Hvis disse tests ikke er
gode nok vil man ofte ende med en RSA nøgle der er baseret på et eller
to ikke-primtal.

--
Andreas Plesner Jacobsen | The bug stops here.

Lene (03-12-2001)
Kommentar
Fra : Lene


Dato : 03-12-01 12:16


"Andreas Plesner Jacobsen" <apj@daarligstil.dk> skrev i en meddelelse
news:slrna0mgko.s5i.apj@slartibartfast.nerd.dk...
> In article <3c0b29dc$0$263$edfadb0f@dspool01.news.tele.dk>, Lene wrote:

Som jeg skrev i mit første indlæg, så er jeg ikke instillet på en større
debat om hvor randum de pågældende data er. Det er rigtigt at en ægte OTP
kryptering kræver 100% random data, og de data TSC genererer er ikke det,
dertil har du rat, men de er med de analyser jeg har lavet ganske tæt på. En
anden vigtig ting er jo at de kun anvendes en og kun en gang.
Men det er næsten umuligt at debaterer her, når du ikke har sat dig grundigt
ind i programmets virkemåde, alle de svar du vil have står i vejledningen.

> Og hvordan er det lige man genererer tilfældige tal på en computer?
> Bitlængden er fuldstændig irrelevant, da hele konceptet er fejlbehæftet.
> Som jeg læser teksten udvander de faktisk tilfældighedskonceptet
> yderligere end blot at påstå at de laver OTP strømme ud fra
> pseudotilfældighedsgeneratorer.


Her lidt om random data og deres anvendelse:

The Random Bits Bin - A True Source of Random Bits
The Random Bits Bin is a file called RandomBitsBin.rbb that is created and
maintained by Top Secret Crypto. It is 8,192 bytes, or 65,536 bits, long,
and once it is read into memory, it is constantly being changed by Top
Secret Crypto. Any time a seed, key, or numeric value, such as Prime p or q,
is required by Top Secret Crypto, it is extracted from somewhere within the
Random Bits Bin. When you exit the program, the RandomBitsBin.rbb file is
updated with the current contents of the Random Bits Bin in memory, thus
creating a new RandomBitsBin.rbb file for the next time you use Top Secret
Crypto.

The big question everyone is asking themselves right now is, how can a
computer be a source of random bits?

Every computer has a system timer. In the case of most Intel® and Intel®
compatible computers, it beats with a frequency of 1.193 million times per
second. This system timer, or high resolution performance timer, can be read
by any computer program. There is also a Read Timestamp Counter Instruction,
rdtsc, that increments with each clock cycle of your computer. This
instruction is available on most Intel® Pentium and AMD Pentium compatible
computers. If you have a 400 MHz processor, the Timestamp Counter will
increment 400,000,000 times per second. Because of the high frequency of the
Timestamp Counter in today's computers, it is the preferable instruction to
use.

Top Secret Crypto sets up, and runs, a separate thread whose sole function
is to read the system timer, or Timestamp Counter, and update the Random
Bits Bin. Since the thread does not have control all the time, there is no
way of predicting the value in the system timer or Timestamp Counter when
the thread does get control. This is because Windows® is a multitasking
operating system running many programs and threads and constantly shifting
between them. The first time the system timer or Timestamp Counter is read,
its low 8 bits are XNORed with the first 8 bits of the Random Bits Bin. The
next time it is read, the next 8 bits are XNORed with the low 8 bits of the
system timer or Timestamp Counter. When you reach the end of the Random Bits
Bin, you start over at the beginning. You can readily see that there is no
underlying system to the generation of the random data.

Due to the speed of the computer, the entire contents of the Random Bits Bin
may change many thousands of times per second. To prove my point, fire up
Top Secret Crypto and let it run for only a second or two. Take a look at
the contents of the RandomBitsBin.rbb file and you will see how random the
data in it is.

For all you computer jockeys out there who do not know what XNOR means, I
will now tell you. It is an xor operation followed by a not operation.

Note: The Read Timestamp Counter Instruction is used by registered programs,
while the system timer is used by non-registered programs.



Random Bits Bin Source Code
Before delving into the source code please read about the Random Bits Bin
and extracting random bits from the Random Bits Bin.

Random Bits Bin Setup Source Code
// Make sure we have a High Performance Counter in the system
// to generate random bits for the Random Bits Bin.
//...........................................................
if (!QueryPerformanceFrequency(&PerformanceCounter))
{
MessageBoxProc(hWnd,IDS_INITIALIZE,IDS_NOHPC,MB_USERICON | MB_OK,
MB_ICONHAND,lpszStopSign);
return(FALSE);
}
// Allocate the memory for the random bits bin.
//.............................................
pRandBitsBin = AllocateMemory(RBB_LENGTH);
if (pRandBitsBin)
{
// Initialize the memory to A5 hex
//................................
int i;
pMem = pRandBitsBin;
for (i = 0; i < RBB_LENGTH; i++)
*pMem++ = LOBYTE(LOWORD(FillChar));
}
else
{
MessageBoxProc(hWnd,IDS_INITIALIZE,IDS_NOMEM,MB_USERICON | MB_OK,
MB_ICONHAND,lpszStopSign);
return(FALSE);
}
// Create or open the Random Bits Bin file.
// ........................................
hFile = CreateMyFile((LPTSTR)&RandomBitsFile,GENERIC_READ |
GENERIC_WRITE,0,NULL,
OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if (!hFile)
{
MessageBoxProc(hWnd,IDS_INITIALIZE,IDS_NOCREATE,
MB_USERICON | MB_OK,
MB_ICONHAND,lpszStopSign);
return(FALSE);
}
// Determine if we opened or created the file. If we opened it,
// read the file into the random bits bin buffer. If we created
// it, write the initial buffer to disk.
//.............................................................
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
if (GetFileSize(hFile,NULL) != RBB_LENGTH)
{
if (MessageBoxProc(hWnd,IDS_INITIALIZE,IDS_WRONGLGTH,
MB_USERICON | MB_OKCANCEL | MB_DEFBUTTON1,
MB_ICONQUESTION,lpszQuestion) == IDCANCEL)
{
return(FALSE);
}
else
{
SetEndOfFile(hFile);
bResult = WriteMyFile((LPTSTR)&RandomBitsFile,hFile,
pRandBitsBin,RBB_LENGTH,
d_Write,NULL);
if (!bResult)
{
MessageBoxProc(hWnd,IDS_INITIALIZE,IDS_NOCREATE,
MB_USERICON | MB_OK,MB_ICONHAND,
lpszStopSign);
return(FALSE);
}
}
}
else
{
bResult = ReadMyFile((LPTSTR)&RandomBitsFile,hFile,
pRandBitsBin,
RBB_LENGTH,&dwRead_Write,NULL);
if (!bResult)
{
MessageBoxProc(hWnd,IDS_INITIALIZE,IDS_NOCREATE,
MB_USERICON | MB_OK,MB_ICONHAND,
lpszStopSign);
return(FALSE);
}
}
}
else
{
bResult = WriteMyFile((LPTSTR)&RandomBitsFile,hFile,
pRandBitsBin,RBB_LENGTH,
&dwRead_Write,NULL);
if (!bResult)
{
MessageBoxProc(hWnd,IDS_INITIALIZE,IDS_NOCREATE,
MB_USERICON | MB_ICONHAND,lpszStopSign);
return(FALSE);
}
}
bResult = CloseMyHandle((LPTSTR)&RandomBitsFile,hFile);
if (!bResult)
{
MessageBoxProc(hWnd,IDS_INITIALIZE,IDS_NOCREATE,
MB_USERICON | MB_OK,MB_ICONHAND,lpszStopSign);
return(FALSE);
}
bUpdateRandBitsBin = TRUE;

// Start the thread that will handle the random bits bin.
// First create an event so we can tell the thread when to quit.
//..............................................................
hRBBEvent = CreateEvent(NULL,TRUE,FALSE,TEXT("RBB_SHUTDOWN_EVENT"));
if (!hRBBEvent)
{
MessageBoxProc(hWnd,IDS_INITIALIZE,IDS_NOEVENT,MB_USERICON | MB_OK,
MB_ICONHAND,lpszStopSign);
return(FALSE);
}
hRBBThread = CreateThread(NULL,0,RandomBitsBinThread,hWnd,0,&dwRBBThreadId);
if (!hRBBThread)
{
MessageBoxProc(hWnd,IDS_INITIALIZE,IDS_NOTHREAD,MB_USERICON | MB_OK,
MB_ICONHAND,lpszStopSign);
return(FALSE);
}

Update the Random Bits Bin File
The random bits bin file is updated with the current contents of the random
bits bin in memory just before you exit the program.

// Update the Random Bits Bin File using the Random Bits Bin in memory.
// We do not do any error checking because it should hardly ever fail.
//....................................................................
LRESULT CALLBACK UpdateRandBitsBinFile()
{
HANDLE hFile;
DWORD dwWrite;
BOOL bResult;
BOOL bReturnResult = FALSE;

if (bUpdateRandBitsBin)
{
// Stir up the bits before we write the bits bin to a file.
//.........................................................
StirTheBits();

// Open the file. It will always exist at this point.
//...................................................
hFile = CreateMyFile((LPTSTR)&RandomBitsFile,GENERIC_READ | GENERIC_WRITE,
0,NULL,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);
if (hFile)
{
bResult = WriteMyFile((LPTSTR)&RandomBitsFile,hFile,
pRandBitsBin,RBB_LENGTH,&dwWrite,NULL);
if (bResult)
{

bResult = CloseMyHandle((LPTSTR)&RandomBitsFile,hFile);
if (bResult)
{
bReturnResult = TRUE;
}
}
}
}
return(bReturnResult);
}

Random Bits Bin Thread Procedure
The following thread is created at the start of the program and runs
continuously, changing the random bits bin in memory. The only time it is
suspended is during RSA Key Generation to shorten the time is takes to
generate a set of RSA Keys.

What the code does is read the High Performance Counter or the Timestamp
Counter, performs an xor operation with the low 8 bits of the performance
counter or Timestamp Counter against one byte in the random bits bin,
performs a not on the byte in the random bits bin, and increments the random
bits bin pointer to point to the next byte. When you reach the end of the
random bits bin, you start over at the beginning. Due to the high speed of
today's computers, the entire contents of the random bits bin can change
many hundreds or thousands of times per second. This is a very effective
generator of random bits that can be used to seed pseudo random number
generators, or create One Time Pad Key Files, which are used to seed 256
pseudo random number generators.

Note: For those of you who track CPU usage on your computer, this thread
will cause the CPU usage rate to be at or near 100%. This is because every
time another program or thread says they are in an idle state waiting for
some kind of imput, this thread will use their idle time to randomize and
update the Random Bits Bin. Because of this your CPU usage will always
reflect at or near 100% when running Top Secret Crypto. This in no way
affects how other programs will run.

// Random Bits Bin thread procedure. This thread constantly updates
// and randomizes the random bits bin. It is run as a thread until
// the program is terminated.
//.................................................................
DWORD WINAPI RandomBitsBinThread(HWND hWnd)
{
int iRBBIndex = 0;
int iPCLowPart = 0;
LPBYTE pRBBBuffer;

// Open the event we will check for to see if we are shutting down.
//.................................................................
HANDLE hRBBEvent = OpenEvent(SYNCHRONIZE,FALSE,
TEXT("RBB_SHUTDOWN_EVENT"));

pRBBBuffer = pRandBitsBin;

while(TRUE)
{
// Read the high performance counter or the time stamp counter.
//.............................................................
if (bUseTimeStampCounter)
{
__asm
{
rdtsc
mov PerformanceCounter.LowPart,eax
}
}
else
{
QueryPerformanceCounter(&PerformanceCounter);
}
iPCLowPart = PerformanceCounter.LowPart;
*pRBBBuffer ^= LOBYTE(LOWORD(iPCLowPart));
*pRBBBuffer++ = ~*pRBBBuffer;
iRBBIndex += 1;
if (iRBBIndex >= RBB_LENGTH)
{
pRBBBuffer = pRandBitsBin;
iRBBIndex = 0;
}
if (WaitForSingleObject(hRBBEvent,0) == WAIT_OBJECT_0)
break;
}
CloseHandle(hRBBEvent);
return(TRUE);
}

Stir the Bits in the Random Bits Bin
This procedure stirs up the entire contents of the random bits bin at the
same time. It reads the High Performance Counter or Timestamp Counter, and
performs a xor and not operation on the first byte of the random bits bin
with the low 8 bits of the counter. It then takes the first byte of the
random bits bin and performs a xor and not between the first and second
bytes of the random bits bin storing the result in the second byte. The
operation is then performed between the results of the second and third
bytes, storing the results in the third byte. This operation is continued
until the end of the random bits bin is reached.

// Stir the bits of the random bits bin.
//......................................
VOID StirTheBits()
{
// Read the high performance counter or the timestamp counter.
//............................................................
if (bUseTimeStampCounter)
{
__asm
{
rdtsc
mov PerformanceCounter.LowPart,eax
}
}
else
{
QueryPerformanceCounter(&PerformanceCounter);
}

__asm
{
mov edi,pRandBitsBin
mov edx,PerformanceCounter.LowPart
mov al,byte ptr [edi]
xor al,dl
not al
stosb
mov ecx,RBB_LENGTH
dec ecx
Rbl:
mov dl,al
mov al,byte ptr [edi]
xor al,dl
not al
stosb
loop Rbl
}
}

Extract Random Bits from the Random Bits Bin
For every 32 bits or less requested, the High Performance Counter or
Timestamp Counter is read, and the low 16 bits of the High Performance
Counter or Timestamp Counter is used as an index into the random bits bin.
(The random bits bin is 8,192 bytes or 65,536 bits long.) This is the
starting point at which you will start to extract bits. If the index is
13,972 and you need to extract 32 bits, you will start at the 13,972nd bit
in the random bits bin and extract 32 bits. If you are constructing a large
number that requires many thousands of bits, the High Performance Counter or
Timestamp Counter will be read again, and the next 32 bits will be extracted
using the low 16 bits as an index. After every 32 bits is extracted, the
entire content of the random bits bin is stirred up before the next 32 bits
are extracted.

// Get the number of requested random bits from the random bits bin
// and place them in the destination address.
//.................................................................
VOID GetRandomBits(DWORD BitsRequested, LPVOID Destination)
{
DWORD Mask32;
LPVOID BitsDestination;

BitsDestination = Destination;

while (BitsRequested != 0)
{
if (BitsRequested >= 32)
{
BitsRequested -= 32;
Mask32 = -1;
}
else
{
__asm
{
mov Mask32,0
mov eax,-1
mov cl,byte ptr BitsRequested
shld Mask32,eax,cl
mov BitsRequested,0
}
}
// Read the high performance counter or the time stamp counter.
//.............................................................
if (bUseTimeStampCounter)
{
__asm
{
rdtsc
mov PerformanceCounter.LowPart,eax
}
}
else
{
QueryPerformanceCounter(&PerformanceCounter);
}
// Get up to 32 random bits and place them in the destination.
//............................................................
__asm
{
mov esi,pRandBitsBin
mov edi,BitsDestination
mov ebx,PerformanceCounter.LowPart
and ebx,0ffffh
mov ecx,ebx
shr ebx,5
shl ebx,2
dec ebx
and cl,1fh
mov eax,dword ptr [esi][ebx]
cmp ebx,8187
jne L1
mov edx,dword ptr [esi]
jmp L2
L1: mov edx,dword ptr [esi][ebx+4]
L2: shrd eax,edx,cl
and eax,Mask32
stosd
mov BitsDestination,edi
}
// We only stir the bits if we are using the High Performance counter.
//....................................................................
if (!bUseTimeStampCounter)
{
StirTheBits();
}
}
}

Note: The Read Timestamp Counter Instruction, rdtsc, is only used if your
computer supports the instruction, and you have registered Top Secret
Crypto. Most Intel® Pentium processors and AMD Pentium compatible processors
support this instruction.

Source Code and Algorithms: for the core procedures used by Top Secret
Crypto.



> Nej, RSA specificerer ikke hvordan nøgler genereres; for at gøre dette
> skal du generere disse meget store primtal. Da det er enormt
> beregningsintensivt at bevise at et tal er et primtal benytter man ofte
> nogle tests til at antyde at det er et primtal. Hvis disse tests ikke er
> gode nok vil man ofte ende med en RSA nøgle der er baseret på et eller
> to ikke-primtal.

Her har du svar på det:

Under The Hood: The Math Behind Public and Secret Keys
Top Secret Crypto extracts random bits from the random bits bin to seed
Primes p and q with starting values. A fast sieve method is used to weed out
most of the numbers that are not prime. Those that pass the fast sieve are
tested with Fermat's Theorem to see if it is a possible prime number. I say
possible, because some non prime numbers can pass the Fermat Test. These are
weeded out when the RSA Keys are tested. A prime candidate must pass 4
Fermat Tests to be considered almost 100% prime.

The Fermat Test applies Fermat's Theorem to prime candidate p: For any small
x, if (x(p-1)) Mod p is not equal to 1, then p is not prime. (Remember: Mod
means remainder.)

Once Primes p and q are found, the program calculates the rest of the
numbers needed in forming your Public and Secret Keys.

Phi(n) = (p-1)*(q-1)
G(n) = gcd(p-1, q-1) (gcd: greatest common divisor)
F(n)= Phi(n)/G(n) F(n) = lcm or least common multiple of p-1 and q-1.

Next Exponent e is calculated. This is used in your Public Key to encrypt
with. We always start with a small fixed odd value for e of 17. We look for
an e such that gcd (e, Phi(n)) = 1. If 17 does not work, we then add two to
e and try again. Most of the time 17 does work, and that is why Exponent e
for almost all public keys is 17, or 11 hexadecimal. This small value for
Exponent e makes for very fast encryption no matter what size Modulus n is.

Next Exponent d is calculated. This is used in your Secret Key to decrypt
with. Exponent d is the multiplicative inverse of e Mod F(n). We compute
Exponent d such that (e*d) Mod F(n) = 1.

Next Inverse u is calculated. This value is also used in your Secret Key.
Inverse u is the multiplicative inverse of p Mod q, if p is less than q
(which is always the case in Top Secret Crypto). We calculate Inverse u such
that (p*u) Mod q = 1.

Next Modulus n is calculated. It is used in both your Public and Secret
Keys. Modulus n = p*q.

The RSA Keys are now complete and are tested. An actual encryption and
decryption test is performed. Some non prime numbers can pass the Fermat
Test causing this test to fail, which is why we do it. When this happens,
you will be asked to generate another set of RSA Keys to test.

Under The Hood: The Math Behind Public and Secret Keys
Top Secret Crypto extracts random bits from the random bits bin to seed
Primes p and q with starting values. A fast sieve method is used to weed out
most of the numbers that are not prime. Those that pass the fast sieve are
tested with Fermat's Theorem to see if it is a possible prime number. I say
possible, because some non prime numbers can pass the Fermat Test. These are
weeded out when the RSA Keys are tested. A prime candidate must pass 4
Fermat Tests to be considered almost 100% prime.

The Fermat Test applies Fermat's Theorem to prime candidate p: For any small
x, if (x(p-1)) Mod p is not equal to 1, then p is not prime. (Remember: Mod
means remainder.)

Once Primes p and q are found, the program calculates the rest of the
numbers needed in forming your Public and Secret Keys.

Phi(n) = (p-1)*(q-1)
G(n) = gcd(p-1, q-1) (gcd: greatest common divisor)
F(n)= Phi(n)/G(n) F(n) = lcm or least common multiple of p-1 and q-1.

Next Exponent e is calculated. This is used in your Public Key to encrypt
with. We always start with a small fixed odd value for e of 17. We look for
an e such that gcd (e, Phi(n)) = 1. If 17 does not work, we then add two to
e and try again. Most of the time 17 does work, and that is why Exponent e
for almost all public keys is 17, or 11 hexadecimal. This small value for
Exponent e makes for very fast encryption no matter what size Modulus n is.

Next Exponent d is calculated. This is used in your Secret Key to decrypt
with. Exponent d is the multiplicative inverse of e Mod F(n). We compute
Exponent d such that (e*d) Mod F(n) = 1.

Next Inverse u is calculated. This value is also used in your Secret Key.
Inverse u is the multiplicative inverse of p Mod q, if p is less than q
(which is always the case in Top Secret Crypto). We calculate Inverse u such
that (p*u) Mod q = 1.

Next Modulus n is calculated. It is used in both your Public and Secret
Keys. Modulus n = p*q.

The RSA Keys are now complete and are tested. An actual encryption and
decryption test is performed. Some non prime numbers can pass the Fermat
Test causing this test to fail, which is why we do it. When this happens,
you will be asked to generate another set of RSA Keys to test.

> Andreas Plesner Jacobsen | The bug stops here.


Håber det oplyste som er fra Brugervejledningen kan bruges.

Lene.





Andreas Plesner Jaco~ (03-12-2001)
Kommentar
Fra : Andreas Plesner Jaco~


Dato : 03-12-01 12:37

In article <3c0b5f0e$0$25377$edfadb0f@dspool01.news.tele.dk>, Lene wrote:
>
> Som jeg skrev i mit første indlæg, så er jeg ikke instillet på en større
> debat om hvor randum de pågældende data er. Det er rigtigt at en ægte OTP

Det er ellers den allervigtigste del af programmet.

> kryptering kræver 100% random data, og de data TSC genererer er ikke det,
> dertil har du rat, men de er med de analyser jeg har lavet ganske tæt på. En
> anden vigtig ting er jo at de kun anvendes en og kun en gang.

Hvilke analyser har du lavet? Hvordan har du konstateret at der ikke er
noget mønster i det output du får?

> Men det er næsten umuligt at debaterer her, når du ikke har sat dig grundigt
> ind i programmets virkemåde, alle de svar du vil have står i vejledningen.

Når det teoretiske udgangspunkt er generelt defekt er der ingen grund
til at gå videre.

>> Og hvordan er det lige man genererer tilfældige tal på en computer?
>> Bitlængden er fuldstændig irrelevant, da hele konceptet er fejlbehæftet.
>> Som jeg læser teksten udvander de faktisk tilfældighedskonceptet
>> yderligere end blot at påstå at de laver OTP strømme ud fra
>> pseudotilfældighedsgeneratorer.
>
> Her lidt om random data og deres anvendelse:

Hvis de brugte deres _rigtige_ tilfældige bits som OTP ville det være
vigtigt hvordan de genererer dem, men det gør de ikke, de bruger, dem
til at initialisere en pseudo-tilfældig funktion.

>> Nej, RSA specificerer ikke hvordan nøgler genereres; for at gøre dette
>> skal du generere disse meget store primtal. Da det er enormt
>> beregningsintensivt at bevise at et tal er et primtal benytter man ofte
>> nogle tests til at antyde at det er et primtal. Hvis disse tests ikke er
>> gode nok vil man ofte ende med en RSA nøgle der er baseret på et eller
>> to ikke-primtal.
>
> Her har du svar på det:
>
> Under The Hood: The Math Behind Public and Secret Keys
> Top Secret Crypto extracts random bits from the random bits bin to seed
> Primes p and q with starting values. A fast sieve method is used to weed out
> most of the numbers that are not prime. Those that pass the fast sieve are
> tested with Fermat's Theorem to see if it is a possible prime number. I say
> possible, because some non prime numbers can pass the Fermat Test. These are
> weeded out when the RSA Keys are tested. A prime candidate must pass 4
> Fermat Tests to be considered almost 100% prime.

Det lyder jo som en glimrende by-the-book implementation

--
Andreas Plesner Jacobsen | Having no talent is no longer enough.
|    -- Gore Vidal

Christian Andersen (03-12-2001)
Kommentar
Fra : Christian Andersen


Dato : 03-12-01 12:47

Lene wrote:

>Som jeg skrev i mit første indlæg, så er jeg ikke instillet på en større
>debat om hvor randum de pågældende data er. Det er rigtigt at en ægte OTP
>kryptering kræver 100% random data, og de data TSC genererer er ikke det,
>dertil har du rat, men de er med de analyser jeg har lavet ganske tæt på.

Lige ved og næsten, slår ingen mand af hesten.

En one-time-pad duer ikke, hvis ikke dataene er fuldstændigt tilfældige.

Punktum.

--
Den kloge narrer den mindre kloge.

http://chran.dyndns.dk - Nu med opfordringer til koncertgængere!

Jakob Færch (03-12-2001)
Kommentar
Fra : Jakob Færch


Dato : 03-12-01 14:46

> Som jeg skrev i mit første indlæg, så er jeg ikke instillet på en større
> debat om hvor randum de pågældende data er. Det er rigtigt at en ægte OTP
> kryptering kræver 100% random data, og de data TSC genererer er ikke det,
> dertil har du rat, men de er med de analyser jeg har lavet ganske tæt på. En
> anden vigtig ting er jo at de kun anvendes en og kun en gang.

Jeg synes, det er et besyndeligt oplæg til diskussion, du kommer med.

Du præsenterer noget, der i mine øjne ligner en fuldstændig naiv
OTP-implementation. En sådan kan jo være fin -- forudsat at OTP'erne
faktisk er tilfældige. Hvis de ikke er, er der ingenting at diskutere:
Krypteringen virker ikke, selv om man selvfølgelig altid kan være heldig
at snyde nogle få mindre kloge fjender.

Derefter erklærer du, at du ikke vil diskutere, om OTP'erne er
tilfældige. Hvad er det så, du vil diskutere? Implementationen af et
system, hvis korrekthed (udover trivielle programmeringsfejl) hviler
fuldstændig på tilfældigheden af de anvendte OTP'er?

For mig at se ser det ud som om du gør hvad du kan for at spilde tiden
for de overraskende mange fornuftige og kompetente mennesker, der følger
denne gruppe.

Det er lidt synd for én som mig, der ikke ved meget om kryptografi, men
prøver at lære mere.

Mvh
Jakob

PS: *PLONK*

Kim Bertelsen (03-12-2001)
Kommentar
Fra : Kim Bertelsen


Dato : 03-12-01 16:23

Jeg har læst med fra starten da Lene ville høre om der var nogle de kunne
komme med et godt bud på de brugte metoder i TSC. Der har ind til nu ikke
været meget seriøst over de svar der er kommet. Sætter folk der syntes de er
kloge sig ikke ind i et problem før de svarer i øst og vest.?

Som jeg ser det skriver Andreas Plesner Jacobsen følgende: Sludder,
PGP/GnuPG bruger en stor mængde entropi-data, bl.a. tastetryk, diskaktivitet
og interrupts til at initialisere sin pseudo-tilfældige funktion.

For at se analytisk på det hvad er det så PGP bruger de random data til som
Andreas beskriver, de bliver brugt til at krypterer med. Er de så 100 %
random, nej det er de ikke, men PGP er lige godt af den grund ikke, ja det
er det.
OK. Som jeg ser det har man i TSC trukket den automatisering der finder sted
i PGP med at krypterer en e-mail/fil med en "randum" datamængde på 128 bit
ud, så man i stedet har en OTP fil som man så kan bruge i stedet for. DVS.
princippet er det samme, algroritmen er bare en anden. At man kalder det en
One time Pad fil har i dette tilfælde intet med One Time Pad kryptering at
gøre, der menes bare at man kun bruger den en gang, altså metode 2.

Så er spørgsmålet er den metode der anvendes i TSC lige så sikker som den
algoritme der anvendes i PGP ( jeg ved ikke hvad den hedder ). I PGP fødes
algoritmen med en 128 bit nøgle og i TSC fødes den med en nøgle på ca.
20.000 bit. Hvilken metode er bedst? Der var en der skrev at det intet har
med bit størrelsen at gøre, ok så må man jo se på den metode der anvendes i
TSC i stedet for bare at slynge det med bit størrelsen ud i den blå luft.

Jakob Færch skriver: For mig at se ser det ud som om du gør hvad du kan for
at spilde tiden
for de overraskende mange fornuftige og kompetente mennesker, der følger
denne gruppe.

Til det må jeg sige følgende. Lene har vel i god tro tænkt at der var nogle
venlige og hjælpsomme mennesker på denne nyhedsgruppe som vil hjælpe med et
problem. Man kommer ingen vegne med bare at latterliggøre og nedgøre folk
der kommer forbi gruppen. For at lære noget må man spørge.
Var det ikke bedre at disse mange fornuftige og kompetente mennesker som du
henviser til Jakob, gad og kikke lidt på de kildekoder som Lene sendte med
den sidste mail. Jeg personligt har ikke forstand på at læse dem og forstå
dem, og det ville da være herligt hvis der var en der kom med en seriøs
udtagelse om dem, eller måske fandt en svaghed eller det modsatte. Men det
hører man intet om. Mærkeligt.
Er det en der kan oversætte dem til "menneske" sprog?

Kim N. Bertelsen.


"Jakob Færch" <tq1en8p001@sneakemail.com> skrev i en meddelelse
news:tq1en8p001-BA7640.14460503122001@sunsite.dk...
> > Som jeg skrev i mit første indlæg, så er jeg ikke instillet på en større
> > debat om hvor randum de pågældende data er. Det er rigtigt at en ægte
OTP
> > kryptering kræver 100% random data, og de data TSC genererer er ikke
det,
> > dertil har du rat, men de er med de analyser jeg har lavet ganske tæt
på. En
> > anden vigtig ting er jo at de kun anvendes en og kun en gang.
>
> Jeg synes, det er et besyndeligt oplæg til diskussion, du kommer med.
>
> Du præsenterer noget, der i mine øjne ligner en fuldstændig naiv
> OTP-implementation. En sådan kan jo være fin -- forudsat at OTP'erne
> faktisk er tilfældige. Hvis de ikke er, er der ingenting at diskutere:
> Krypteringen virker ikke, selv om man selvfølgelig altid kan være heldig
> at snyde nogle få mindre kloge fjender.
>
> Derefter erklærer du, at du ikke vil diskutere, om OTP'erne er
> tilfældige. Hvad er det så, du vil diskutere? Implementationen af et
> system, hvis korrekthed (udover trivielle programmeringsfejl) hviler
> fuldstændig på tilfældigheden af de anvendte OTP'er?
>
> For mig at se ser det ud som om du gør hvad du kan for at spilde tiden
> for de overraskende mange fornuftige og kompetente mennesker, der følger
> denne gruppe.
>
> Det er lidt synd for én som mig, der ikke ved meget om kryptografi, men
> prøver at lære mere.
>
> Mvh
> Jakob
>
> PS: *PLONK*



Christian E. Lysel (03-12-2001)
Kommentar
Fra : Christian E. Lysel


Dato : 03-12-01 16:54

Kim Bertelsen wrote:

> Jeg har læst med fra starten da Lene ville høre om der var nogle de
> kunne komme med et godt bud på de brugte metoder i TSC. Der har ind
> til nu ikke været meget seriøst over de svar der er kommet. Sætter
> folk der syntes de er kloge sig ikke ind i et problem før de svarer
> i øst og vest.?

Men vi har ikke fået at vide hvilken kryptering der bruges, kun hvordan
nøgler bygges eller opbevares!

Jeg prøver at forholde mig til informationerne fra det oprindelige
indlæg, men da disse var mangelfulde, læste jeg på hjemmesiden om
produktet. Jeg har dog ikke installeret produktet eller testet det,
eller læst manualen. Jeg regner da med at Lene godt selv kan beskrive
produktet, på fx dansk, det er jo derfor der en dansk nyhedsgruppe,
eller har jeg overset noget?

Hvis jeg ville læse om sikkerhed på engelsk, hvorfor da ikke læse en
udenlansk gruppe?






Kim Bertelsen (03-12-2001)
Kommentar
Fra : Kim Bertelsen


Dato : 03-12-01 17:42


"Christian E. Lysel" <chlyshoswmdatapunktumcom@example.net> skrev i en
meddelelse news:3C0BA00D.2070502@example.net...
>
> Jeg prøver at forholde mig til informationerne fra det oprindelige
> indlæg, men da disse var mangelfulde, læste jeg på hjemmesiden om
> produktet. Jeg har dog ikke installeret produktet eller testet det,
> eller læst manualen. Jeg regner da med at Lene godt selv kan beskrive
> produktet, på fx dansk, det er jo derfor der en dansk nyhedsgruppe,
> eller har jeg overset noget?
>
> Hvis jeg ville læse om sikkerhed på engelsk, hvorfor da ikke læse en
> udenlansk gruppe?
>

Vil det sige at Lene som formentlig kun er almindelig bruger af programmet
skal oversætte den omfattende Engelske tekst til Dansk før det passer dig at
beskæftige dig med problemet?. At beskrive den teknik som fremgår af den
Engelske tekst er jo det samme som at oversætte den til Dansk.

Ja det er en Dansk gruppe, men man må vel forvente at de fleste kan læse den
Engelske Dokumentation der åbenbart et kopieret ind i Lenes Skrivelser, og
det er jo nødvendigt når ingen vil skaffe sig oplysningerne selv. Og hvorfor
er den mangelfuld, ja hvis den ikke skulle være det er det jo det samme som
at lægge hele manuellen ud her, og det er nok ikke det der er meningen.
Meningen er nok at man, hvis man er interesseret i at hjælpe, skaffer sig
programmet og derved får den nødvendige indsigt til at give et seriøst svar.

Kim Bertelsen.





Christian E. Lysel (03-12-2001)
Kommentar
Fra : Christian E. Lysel


Dato : 03-12-01 18:11

Kim Bertelsen wrote:

> Vil det sige at Lene som formentlig kun er almindelig bruger af programmet
> skal oversætte den omfattende Engelske tekst til Dansk før det passer dig at


Hvorfor går hun så ned i det tekniske og beskriver kun størrelsen af
nøglerne og hvordan de dannes?

> beskæftige dig med problemet?. At beskrive den teknik som fremgår af den
> Engelske tekst er jo det samme som at oversætte den til Dansk.


Måske kan nogle ikke læse engelsk!


Den engelske tekst er noget klamhuggeri, navnet siger det alene (top
security crypto).

Jeg har sat mig ned og læst hjemmesiden, men denne gennemgår ikke
hvilken kryptering der benyttes til at kryptere klarteksten, kun hvor
store nøglerne er og hvordan disse dannes. FAQ'en siger ikke noget
interessant. History.txt har følgende interessante punkt:

36      Greatly speeded up the rsa key generation and
      rsa encipher and decipher procedures by using
      some original C code from pgp for some of the
      core procedures.

Readme.txt siger ikke noget.

CAB filerne bryder winzip sig ikke om, da de ikke følger standarden MS
lavede i 1996.

Jeg ønsker ikke at installere applikationen, da der kan være
sikkerhedshuller i denne, fx en troj.

Kan du evt. konvertere manualen til en flad ASCII tekst fil, og
publicere denne på en hjemmeside?

> Ja det er en Dansk gruppe, men man må vel forvente at de fleste kan læse den
> Engelske Dokumentation der åbenbart et kopieret ind i Lenes Skrivelser, og
> det er jo nødvendigt når ingen vil skaffe sig oplysningerne selv. Og hvorfor
> er den mangelfuld, ja hvis den ikke skulle være det er det jo det samme som
> at lægge hele manuellen ud her, og det er nok ikke det der er meningen.


Nej, det er en del der ikke ville bryde sig om.

> Meningen er nok at man, hvis man er interesseret i at hjælpe, skaffer sig
> programmet og derved får den nødvendige indsigt til at give et seriøst svar.


Hvorfor?


> Kim Bertelsen.


Andreas Plesner Jaco~ (03-12-2001)
Kommentar
Fra : Andreas Plesner Jaco~


Dato : 03-12-01 20:00

In article <3c0bab55$0$81730$edfadb0f@dspool01.news.tele.dk>, Kim Bertelsen wrote:
>
>> Hvis jeg ville læse om sikkerhed på engelsk, hvorfor da ikke læse en
>> udenlansk gruppe?
>>
>
> Vil det sige at Lene som formentlig kun er almindelig bruger af programmet
> skal oversætte den omfattende Engelske tekst til Dansk før det passer dig at
> beskæftige dig med problemet?. At beskrive den teknik som fremgår af den
> Engelske tekst er jo det samme som at oversætte den til Dansk.

Nej, men Lene ville diskutere kryptologi og metoder, og så kommer man
ikke uden om at skulle diskutere metoderne og ikke fine marketingguides.

--
Andreas Plesner Jacobsen | To do two things at once is to do neither.
|    -- Publilius Syrus

Jakob Færch (03-12-2001)
Kommentar
Fra : Jakob Færch


Dato : 03-12-01 20:17

In article <3c0b98f2$0$81709$edfadb0f@dspool01.news.tele.dk>,
"Kim Bertelsen" <knb@dk2net.dk> wrote:

> Jeg har læst med fra starten da Lene ville høre om der var nogle de kunne
> komme med et godt bud på de brugte metoder i TSC. Der har ind til nu ikke
> været meget seriøst over de svar der er kommet. Sætter folk der syntes de er
> kloge sig ikke ind i et problem før de svarer i øst og vest.?

Det synes jeg bestemt også folk, der synes de er kloge, har gjort. Jeg
har selv - uden at påstå at være klog - kigget på programmets hjemmeside.
Ud fra de ret sparsommelige oplysninger, der er der, må man konkludere,
at programmet sandsynligvis koder tekster ved XOR'e dem med
ikke-tilfældige One Time Pads.

På det grundlag er der flere, der har konkluderet, at i så få fald er
programmet ubrugeligt til sikker kommunikation. Var det ikke en sådan
vurdering, Lene bad om?

Det hidser hende tilsyneladende op, at folk diskuterer, hvor tilfældige
nøglerne er; det har undret mig lidt. For mig ser det ud som om at alle
(inkl. Lene) er enige om, at nøglerne _ikke_ er tilfældige... og så er
der i princippet ikke mere at diskutere.

Hvorfor så give sig til at skælde ud på de folk med forstand på
kryptografisk teori, der har hjulpet en?

/Jakob

Christian E. Lysel (03-12-2001)
Kommentar
Fra : Christian E. Lysel


Dato : 03-12-01 12:23

Lene wrote:

> OK du stiller en mængde spørgsmål, mange af dem kunne du få besvaret ved at
> læse i hjælpe filen til TSC men jeg skal gerne svare på dine spørgsmål.


Det kræver jo jeg skal installere applikationen. Da jeg ikke stoler på
denne, grundet ordvalget på deres hjemmeside, ønsker jeg ikke at
installere denne.

Der kan fx være en troj i applikationen.

>>Hvordan bliver nøgen "udtrukket"?
> This is why Top Secret Crypto includes a second method for seeding its
> pseudo random number generators, or encryption formula. It can create One
> Time Pad (OTP) Key Files, each of which contains 1,303 randomly generated
> numbers in the range 100,000,001 to 4,294,967,295. Each number is 32 bits
> long. From the 1,303 random numbers in an OTP Key file, 768 numbers are
> randomly selected to seed the 256 pseudo random number generators used in
> the encryption process. 512 of the 768 random numbers use the full 32 bits
> for 16,384 bits. The other 256 are shifted right by a factor of 17 to 24
> leaving 8 to 15 bits. This gives you 2,048 to 3,840 more bits. Add in 37
> more for an initial seed and random factor array shift valve for a final
> total of somewhere between 18,469 and 20,261 bits used as the Initial
> Condition for the 256 pseudo random number generators.


Og hvad er formålet med dette? Udover at bruge smarte udtryk (top
secret, encryption formula (er det vaskepulver vi tester?))?

>>Hvorfor viser du nøgle størrelserne mellem PGP og dette produkt. Hvilken
>>algoritme bruger dette produkt?

> Just plug in all possible seed numbers into the formula using a super
> computer and within a matter of hours any message can be decoded. This is
> the bane of most encryption formulas. They try to keep the seed number small
> by using very complex and lengthy formulas because human beings, you and me,
> do not like to enter 100 and 200 digit seed numbers into a computer every


seed number, hvem bruger det?

> A complex encryption formula seems like a good idea. But that is forgetting
> one of the basic rules of cryptography: The General System is known - to
> everyone. If you buy a commercial encryption program that is sold over the
> counter, you have the general system for that product. You do not even have
> to understand its complex encryption process. The program does it all for
> you. DES has a very complicated encryption formula, but only a 56-bit key.
> It can be broken with ease. It also burns up computer cycles and takes a
> long time, relatively, to encrypt or decrypt a file.


Hvorfor bruge DES som eksempel.

> the key, when sending an encrypted file to multiple recipients. As long as
> the NSA cannot break the RSA Public Key Encryption System, these key sizes
> should be sufficient.


Er RSA og NSA ikke gode "venner"?


>>Hvor tilfældigt valgt er 20kbit nøglen, er det i virkeligheden en 10bits
>>nøgle, grundet en fejl implementation.
> Se det med en fejl implementation har du ret i kan være et problem, ud fra
> de test og forsøg jeg har lavet er der ingen fejl. Men det er jo netop dette


Hvordan testede du nøglerne?

>>Navnet? *suk* hvad har det med sagen at gøre. Om filen hedder test.txt
>>eller ekodijeu er da ligegyldigt...eller har jeg overset noget?
> Se det er fordi du ikke helt har set det geniale i sagen. Det er lige meget
> hvad filen hedder, det har du ret i. Det der er kærnen i sagen er at hvis du
> kan få brudt RSA krypteringen vil du ved PGP herved få nøglen til at
> dekrypterer din mail med, altså den symmetrisk kryptering. Men ved brug af


Hvor mange år skal _du_ bruge på at bryde RSA krypteringen?

> OTP filer indeholder RSA krypteringen kun navnet på OTP filen og du vil
> derved ikke kunne dekrypterer mailen selv om du bryder RSA krypteringen.


Hvad det med sagen at gøre? Hvis man ikke ved hvilken fil det er, tager
man dem alle og løber igennem, dette tager ikke mange minutter!

Falsk sikkerhed, dette produkt giver mig en mærkelig smag i munden, jeg
endnu ikke fundet ud af hvilken kryptering der benyttes til at kryptere
budskabet. Det eneste jeg kan finde er hvilke krumspring der gøres for
at bygge nøglerne.


>>Hvordan dannes nøglerne til RSA?
> Hvordan de dannes må jeg henvise til Hjemmesiden for RSA, det er en kendt
> metode der anvendes. Dog skal nævnes at der indføres nogle seprationsbit
> mellem de to primtal for at gøre det meget svært at finde dem igen.


I teorien er teori og praksis ens, i praksis ej.

Endvidere hvordan finder man store primtal nemt?

>>Hvordan bliver 20kbit nøglen distribueret?
> Metode 1 i TSC anvender samme metoder som i PGP, men med nøgler på op til
> 8192 Bit.
> Ved metode 2 og 3 er du nød til at lave en diskette hvor der kan være ca.
> 300 OTP filer eller en CD som du udveksler med den du skal skrive sammen
> med. Det er man nød til for at få den optimale sikkerhed.


Hvilken metode snakke vi om?

>>Hvorfor slettes nøglen? Er der da noget galt med krypteringen, til at
>>nøglen er usikker?
> Når du sender en mail til punkt B og du anvender en OTP fil wiper du den
> efter brug, når den modtages af B dekrypteres den og herefter wipes OTP
> filen hos B. Du vil herved altid bruge en frisk OTP fil og for at overholde
> den gyldne regel om aldrig at anvende en nøgle to gange er det jo perfekt på
> den måde. Næste gang du sender en mail til punkt B tager du en ny OTP fil
> fra dit lager der hedder A og B. Når du bruger OTP filer kan du nemlig kun
> anvende dem mellem to personer.
> Skal du skrive med en anden person må i lave et sæt OTP filer og kalde dem A
> og C.


Dvs. hvis 10 mennesker skal skrive sammen, skal hver have 9 CDROM'er. I
alt 180 CDROM'er. Er vi nu 100 der skal skrive sammen skal vi hver have
99 CDROM'er, og alle ialt 9900 CDROM'er. Ud over dette skal vi holde øje
med når CDROM'erne løber "tør".

Er det ikke her RSA er smartere?

>>*suk* Jeg har nu læst hjemmesiden, den gennemgår 3 metoder: 1, 2 og 3.
>>Hvilken metode snakker du om? 20kbit nøglen kan jeg ikke finde i
>>teksten, så gætter på det er metode 3 du snakker om.
> 20 kbit nøglen hvis vi kalder den sådan er metode 2.
>
> Ved metode 3 laver du en f,eks 200 mb fil med randum data. Hver gang du
> skriver en mail anvendes en tilsvarende størrelse i denne fil til at
> krypterer din mail med. Derefter wipes det område i filen du lige har
> anvendt og bruges ikke igen.


Med hvilken kryotering?

Jeg gætter på XOR, men det står ikke på hjemmesiden.

>>Metode 3, må være en XOR kryptering, da nøglen skal have samme størrelse
>>som budskabet. XOR er god, men nøglen er symmetrisk og har samme længde
>>som budskabet, derfor skal du transportere nøglen sikkert. Men kan du
>>tranportere nøglen sikkert, kan du lige så godt sende budskabet.
>>Men hvordan distribuere du OTP filen?>
> Normalt laver vi en CD med biblioteker f,eks 30 stk. med hver 500 Otp filer.
> Herefter kopieres den så vi har to stk. Den ene er du nød til at overdrage
> personligt eller på en anden sikker måde, det er vilkårene for en sikker
> kryptering. Du tager herefter et bibliotek op på din harddisk, gerne i en


Nix. Andre metoder benytter sig af fingerprint, som er et udtræk af
nøglen der


> Scramdisk container, skiven gemmer du godt væk. Du kan nu sende/modtage 500
> mail ( og det er mange ). Bliver de OTP filer du har på maskinen
> kompromitteret kan du tage 500 friske fra lager.


Hvordan opdager du dette?

Ovenstående program kan kodes i perl på 50 linier, jeg kan ikke se noget
nyt i dette.


> Jeg håber det i første omgang var svar nok. Men man kommer meget langt hvis
> man bruger lidt tid med programmet og læser i vejledningen. Det vil jeg
> opfordre til.


Povl H. Pedersen (03-12-2001)
Kommentar
Fra : Povl H. Pedersen


Dato : 03-12-01 21:40

On Mon, 3 Dec 2001 08:29:04 +0100,
Lene <lenefox@ofir.dk> wrote:
>
> "Christian E. Lysel" <chlyshoswmdatapunktumcom@example.net> skrev i en
> meddelelse news:3C0A9A1B.2010308@example.net...
>
> Til Christian E. Lysel
>
> OK du stiller en mængde spørgsmål, mange af dem kunne du få besvaret ved at
> læse i hjælpe filen til TSC men jeg skal gerne svare på dine spørgsmål.
>
>
>>Hvordan bliver nøgen "udtrukket"?
>
> This is why Top Secret Crypto includes a second method for seeding its
> pseudo random number generators, or encryption formula. It can create One
> Time Pad (OTP) Key Files, each of which contains 1,303 randomly generated
> numbers in the range 100,000,001 to 4,294,967,295.

Uha uha. De øger da virkeligt sikkerheden ved at fjerne tal mindre end
100.000.001.

Er du sikker på de ikke også sletter andre tal med for mange nuller ?
Hvad med dem med for mange 1-taller ?

100.000.001 er ikke et specielt tal når man ser på det binært.

Og 1303 er vel et perfekt antal tal at vælge 768 fra.

De er allerede faldet for tåbetesten. For meget af det de laver
ligner noget der er værre end slag med en terning.

> ... Add in 37
> more for an initial seed and random factor array shift valve for a final
^ Med systemets random ?
> total of somewhere between 18,469 and 20,261 bits used as the Initial
> Condition for the 256 pseudo random number generators.

> Most pseudo random number generators can produce a long string of random
> numbers, or characters, to encrypt a file with. (A pseudo random number
> generator can be considered a stream cipher and its output a pseudo One Time
> Pad.) What we want to determine is what makes a good pseudo random number
> generator, or another way to put it is what pseudo random number generator
> makes a good encryption formula.

Der findes ikke en god PRNG - Hvis den kendes er den forudsigelig.
Derfor har de fleste unix systemer i dag noget som opsamler entrophy
information fra maskinen, og bruger disse til hele tiden at lave
nye ikke-forudsigelige tal.

Ulempen ved dette er, at tal ikke genereres specielt hurtigt.
Det tager på min 1200MHz PC f.eks. 13.8 sekunder at smide
50k random data væk. På denne tid kan jeg smide flere MB
af PRNG tal væk.

> Se det med en fejl implementation har du ret i kan være et problem, ud fra
> de test og forsøg jeg har lavet er der ingen fejl. Men det er jo netop dette
> jeg fra starten var inde på. Vi har umiddelbart et rigtig godt program og
> det som mangler er en grundig test og efterfølgende godkendelse af hvad
> programmet lover.

XOR har heller ingen fejl. Bare vælg en nøglelængde der er stor nok.

> Når du sender en mail til punkt B og du anvender en OTP fil wiper du den
> efter brug, når den modtages af B dekrypteres den og herefter wipes OTP
> filen hos B. Du vil herved altid bruge en frisk OTP fil og for at overholde
> den gyldne regel om aldrig at anvende en nøgle to gange er det jo perfekt på
> den måde. Næste gang du sender en mail til punkt B tager du en ny OTP fil
> fra dit lager der hedder A og B. Når du bruger OTP filer kan du nemlig kun
> anvende dem mellem to personer.
> Skal du skrive med en anden person må i lave et sæt OTP filer og kalde dem A
> og C.

Jeg har hørt at US ambasader angiveligt skulle bruge dette princip,
og med OTP leveret på CD. Det skulle være støj fra det ydre rum,
idet man ikke to steder kan sample det samme. Men det er muligt
at det er overtro.

> Normalt laver vi en CD med biblioteker f,eks 30 stk. med hver 500 Otp filer.
> Herefter kopieres den så vi har to stk. Den ene er du nød til at overdrage
> personligt eller på en anden sikker måde, det er vilkårene for en sikker
> kryptering. Du tager herefter et bibliotek op på din harddisk, gerne i en
> Scramdisk container, skiven gemmer du godt væk. Du kan nu sende/modtage 500
> mail ( og det er mange ). Bliver de OTP filer du har på maskinen
> kompromitteret kan du tage 500 friske fra lager.

Hvilket lyder som det jeg har hørt om ovenfor. Og det virker.
Eneste problem er, at du ikke ved om din OTP er kompromiteret,
du skal minimum have ACL med logging på dine filer, så du undgår
at bruge OTP som har været læst på maskinen.


Karsten H. (03-12-2001)
Kommentar
Fra : Karsten H.


Dato : 03-12-01 19:13

Thus spake Lene in news:3c09e01a$0$25365$edfadb0f@dspool01.news.tele.dk:

> Er der en herinde der seriøst vil/kan kikke på nedenstående program.

Hej Lene.

Nu har jeg kigget lidt på hvad du beder om, og hvordan du behandler folk der
svarer.

Jeg vil blot gøre dig opmærksom på at du ikke betaler de folk der svarer her
penge (se Alexs opslag - han er vist pengene værd), og jeg derfor finder dit
sprog meget harsk, da de ikke er forpligtet til dig på nogen måde.

Min personlige mening, som jeg nu blæser ud her i gruppen er, at du vil få
en hæderlig gevinst ud af at læse RFC-1855 inden du skriver mere.

Men jeg er også bare en gammel sur sysadmin.

--
Karsten H. (Public PGP key at www.egotrip.dk/pgp.php)
Som har skrevet delen før @ baglæns for at narre fjenden i Aalborg.

Christian Andersen (03-12-2001)
Kommentar
Fra : Christian Andersen


Dato : 03-12-01 19:40

Karsten H. wrote:

>gammel sur sysadmin.

Er det ikke et oxymoron?

FUT

--
Den kloge narrer den mindre kloge.

http://chran.dyndns.dk - Nu med opfordringer til koncertgængere!

Kai Birger Nielsen (04-12-2001)
Kommentar
Fra : Kai Birger Nielsen


Dato : 04-12-01 15:53

In <3c09e01a$0$25365$edfadb0f@dspool01.news.tele.dk> "Lene" <lenefox@ofir.dk> writes:

>Er der en herinde der seriøst vil/kan kikke på nedenstående program. Dig jeg
>søger der skal gøre det, skal have et godt kendskab til Kryptografi og
>matematik. Når jeg mener kikke på det seriøst så mener jeg sætte sig ind i
>hvordan man anvender krypteringen i programmet og vurderer om det er ok,

Hvorfor ? Jeg har kigget lidt rundt på
http://www.topsecretcrypto.com/ og det er et program, der er lavet
af en enkelt person, angiveligt ved navn MacGregor K. Phillips.
Jeg bliver urolig over at se "Top Secret" og
"The most powerful data encryption program in the world" gentaget
igen og igen.

Så nej, det ville jeg da aldrig spilde min tid på at kigge på med
mindre der var en virkelig god grund til det. Der er altså for
mange enmandsprodukter, der hævder at være de vises sten til at
man kan checke dem allesammen. Hvis jeg fx skulle bruge det her
til at sende hemmelig email med, skulle jeg først overbevise
min modpart om at det var en god ide og derefter vha et program,
jeg ikke selv har skrevet, generere en one-time-pad som jeg skal
udveksle fysisk med min modpart inden vi kan kommunikere. No way!
Hvorfor ikke bare sende sin mail pr forseglet post, hvis det kan
vente så længe ?

Jeg mangler som sagt motivation til overhovedet at se på det her.
Hvorfor synes du at det er interessant at se nærmere på det ?

(Og det er sagt så direkte for at det ikke skal blive misforstået.
Det er ikke for at virke grov eller fornærmende.)

mvh Birger Nielsen (bnielsen@daimi.au.dk)


Lene (04-12-2001)
Kommentar
Fra : Lene


Dato : 04-12-01 17:22


"Kai Birger Nielsen" <bnielsen@daimi.au.dk> skrev i en meddelelse
news:9uio0v$842$1@news.net.uni-c.dk...

Hej Birger N.

Tak for dit svar.

Jeg har brugt programmet i snart et år og har været godt tilfreds med den
måde programmet fungerer på og de muligheder der er. Jeg skrev mit indlæg
her i gruppen fordi jeg ( og dem jeg bruger det sammen med ) er glad for
programmet, og derfor godt ville have havde nogle til at kikke lidt nøjere
på den sikkerhed det byder på. Det jeg blev lidt sur over var at man straks
gik i lag med om det nu var en ægte OTP eller ej. Metode 1 virker nøjagtig
som PGP, metode 2 bruger en større nøgle til den symmetriske kryptering, og
man har sikret sig at den kun bruges en gang og deraf navnet OTP. Metode 3
er lavet som en OPT kryptering, og her har vi så problemet med de "ægte"
random data.
Jeg skrev også mit indlæg fordi programmet er lavet af een person, men jeg
har kendskab til at han har arbejdet med programmet i mindst 10 år, da jeg
har en gammel DOS version af programmet. Derfor var det også interessant at
få kikket på om det var noget særlig godt jeg havde fundet og brugt med
glæde. Nogle personer kan jo godt være dygtige til f.eks at lave et
Krypterings program og så ikke være så gode til at sælge det ved at være
overstadige og prangende om programmets fortræffeligheder.

>Hvorfor ikke bare sende sin mail pr forseglet post, hvis det kan
>vente så længe ?

Jeg bruger metode 1 til daglig, men ind i mellem bruger jeg metode 2.
Hvis du har lavet en CD med OTP filer med den du skriver med så går det lige
så hurtigt med den metode, som med metode 1. En sådan CD holder nemt i
årevis. OPT filerne er i en Scramdisk på CD skiven.

>Jeg mangler som sagt motivation til overhovedet at se på det her.
>Hvorfor synes du at det er interessant at se nærmere på det ?

Ja som jeg har skrevet oven for syntes jeg det er et funktionelt program,
nøglerne er store, og man kan når programmet arbejder følge godt med i
processen. Dertil kan jeg komme, men en granskning af den reelle metode
programmet anvender til at krypterer med kan jeg ikke gennemskue 100 %. Hvis
den metode faldt ud til at være OK, ja så havde vi jo endnu et godt program
til at sikre mail mm. Hvis ikke så kunne man skrive til MacGregor K.
Phillips og påpege de svagheder man har fundet i "algoritmen" og se hvad han
siger til det.

Der er meget møg rundt omkring, men det er de færreste programmer der har
været arbejdet på så længe som dette.

Lyder jeg sur, det er jeg ikke

Lene.




Bertel Lund Hansen (04-12-2001)
Kommentar
Fra : Bertel Lund Hansen


Dato : 04-12-01 18:16

Lene skrev:

>Der er meget møg rundt omkring, men det er de færreste programmer der har
>været arbejdet på så længe som dette.

Et langstrakt arbejde er fint til at udvikle en god brugerflade,
men hvis grunddesignet er skrøbeligt, hjælper det ikke at man
finpudser detaljer og bliver mere og mere øm over sit lækre
program.

Der er programmeringsproblemer som er komplekse når man studerer
dem til bunds, men som ved et første bekendtskab ser forholdsvis
enkle ud. Jeg husker f.eks. min egen stolthed da jeg havde
implementeret bubblesort og shellsort. Jeg troede at jeg var
ekspert i sorteringsalgoritmer. Det viste sig senere at de to
rutiner er blandt de langsomste af dem som havde været kendt og
undersøgt på kryds og tværs i over 15 år før jeg gik i gang.

Den slags oplevelser får erfarne folk til at være skeptiske over
for utjekkede enmandsprojekter.

--
Bertel
http://lundhansen.dk/bertel/   FIDUSO: http://fiduso.dk/

Jakob Færch (04-12-2001)
Kommentar
Fra : Jakob Færch


Dato : 04-12-01 20:17

In article <sq0q0u8cg93tvm9pju776spqte82vq1mko@sunsite.auc.dk>,
Bertel Lund Hansen <nospam@lundhansen.dk> wrote:

> Jeg husker f.eks. min egen stolthed da jeg havde
> implementeret bubblesort og shellsort. [...]
> Det viste sig senere at de to
> rutiner er blandt de langsomste

Shellsort er da ikke så dårlig, så vidt jeg husker - er det ikke noget
med O(n log log n) eller deromkring?

- altså, ikke at det er on-topic på nogen måde

/Jakob

Bertel Lund Hansen (04-12-2001)
Kommentar
Fra : Bertel Lund Hansen


Dato : 04-12-01 22:29

Jakob Færch skrev:

>Shellsort er da ikke så dårlig, så vidt jeg husker

Det er rigtigt, men man kan faktisk lave flere slags shell sort,
og den jeg benyttede, var af bubbletypen. Med insert som princip
bliver den noget hurtigere.

--
Bertel
http://lundhansen.dk/bertel/   FIDUSO: http://fiduso.dk/

Povl H. Pedersen (05-12-2001)
Kommentar
Fra : Povl H. Pedersen


Dato : 05-12-01 08:24

On Tue, 04 Dec 2001 22:29:21 +0100,
Bertel Lund Hansen <nospam@lundhansen.dk> wrote:
> Jakob Færch skrev:
>
>>Shellsort er da ikke så dårlig, så vidt jeg husker
>
> Det er rigtigt, men man kan faktisk lave flere slags shell sort,
> og den jeg benyttede, var af bubbletypen. Med insert som princip
> bliver den noget hurtigere.

Til gengæld er der alt for mange som anvender quicksort som
i worst case er lige så dårlig som bubblesort.

Jeg har personligt altid haft en forkærlighed for heapsort
siden jeg lærte om træer.

Kasper Dupont (05-12-2001)
Kommentar
Fra : Kasper Dupont


Dato : 05-12-01 08:53

Povl H. Pedersen wrote:
>
> On Tue, 04 Dec 2001 22:29:21 +0100,
> Bertel Lund Hansen <nospam@lundhansen.dk> wrote:
> > Jakob Færch skrev:
> >
> >>Shellsort er da ikke så dårlig, så vidt jeg husker
> >
> > Det er rigtigt, men man kan faktisk lave flere slags shell sort,
> > og den jeg benyttede, var af bubbletypen. Med insert som princip
> > bliver den noget hurtigere.
>
> Til gengæld er der alt for mange som anvender quicksort som
> i worst case er lige så dårlig som bubblesort.
>
> Jeg har personligt altid haft en forkærlighed for heapsort
> siden jeg lærte om træer.

Heapsort har da sine fordele, men den er ikke særlig
cache effektiv. Hvis datamængderne bliver så store,
at cache eller swapping får indflydelse, er mergesort
den absolut bedste algoritme.

(Dette er vist ved at blive lidt off-topic, men jeg
kunne ikke finde nogen gruppe om kompleksitetsteori
at sætte FUT til.)

--
Kasper Dupont

Bertel Lund Hansen (05-12-2001)
Kommentar
Fra : Bertel Lund Hansen


Dato : 05-12-01 13:45

Povl H. Pedersen skrev:

>Til gengæld er der alt for mange som anvender quicksort som
>i worst case er lige så dårlig som bubblesort.

.... en worst case som man rammer så sjældent at den samlede
tidsbesparelse gør det til et fornuftigt valg.

>Jeg har personligt altid haft en forkærlighed for heapsort
>siden jeg lærte om træer.

Brug Mergesort. Den har samme effektivitet som Quicksort og
worstcase = best case.

--
Bertel
http://lundhansen.dk/bertel/   FIDUSO: http://fiduso.dk/

Povl H. Pedersen (06-12-2001)
Kommentar
Fra : Povl H. Pedersen


Dato : 06-12-01 21:34

On Wed, 05 Dec 2001 13:45:27 +0100,
Bertel Lund Hansen <nospam@lundhansen.dk> wrote:
> Povl H. Pedersen skrev:
>
>>Til gengæld er der alt for mange som anvender quicksort som
>>i worst case er lige så dårlig som bubblesort.

Det kommer meget an på systemet. Der er en del tilfælde
hvor man gerne vil levere samme performance hele tiden.

Heapsort er relativ forudsigelig (tager som regel altid
tæt på samme tid), og med O(n * log n) skalerer
den umiddelbart langt bedre end quicksort.

Og med systemer hvor brugeren venter på sortering, så er
det bedre altid at lade ham vente 3 sekunder fremfor at han
venter alt mellem 0.5 sekund og 6 sekunder hvorefter han
genstarter den "døde" maskine.

> ... en worst case som man rammer så sjældent at den samlede
> tidsbesparelse gør det til et fornuftigt valg.
>
>>Jeg har personligt altid haft en forkærlighed for heapsort
>>siden jeg lærte om træer.
>
> Brug Mergesort. Den har samme effektivitet som Quicksort og
> worstcase = best case.
>
O(n^2) er ikke hvad jeg vil kalde effektiv sortering :)

Kasper Dupont (06-12-2001)
Kommentar
Fra : Kasper Dupont


Dato : 06-12-01 21:57

Povl H. Pedersen wrote:
>
> On Wed, 05 Dec 2001 13:45:27 +0100,
> Bertel Lund Hansen <nospam@lundhansen.dk> wrote:
> > Povl H. Pedersen skrev:
> >
> >>Til gengæld er der alt for mange som anvender quicksort som
> >>i worst case er lige så dårlig som bubblesort.
>
> Det kommer meget an på systemet. Der er en del tilfælde
> hvor man gerne vil levere samme performance hele tiden.
>
> Heapsort er relativ forudsigelig (tager som regel altid
> tæt på samme tid), og med O(n * log n) skalerer
> den umiddelbart langt bedre end quicksort.

Tidskompleksiteten på O(n * log n) gælder kun så længe alle
data kan være i ram. I samme øjeblik man begynder at swappe
bliver den meget dårligere.

> >
> > Brug Mergesort. Den har samme effektivitet som Quicksort og
> > worstcase = best case.
> >
> O(n^2) er ikke hvad jeg vil kalde effektiv sortering :)

Mergesort tager ikke tid O(n^2), den tager kun tid O(n *
log n). Og mergesort har desuden et af de mest
forudsigelige tidsforbrug, tidsfrorbruget er stort set
uafhængig af input. Og endelig kan mergesort implementeres
så den også er effektiv ved datamængder for store til ram.

--
Kasper Dupont

Kai Birger Nielsen (07-12-2001)
Kommentar
Fra : Kai Birger Nielsen


Dato : 07-12-01 09:57

In <3C0FDBAD.2781@daimi.au.dk> Kasper Dupont <kasperd@daimi.au.dk> writes:

Kig på bose-nelson-knuth sortering, hvis I vil have ensartet
tidsforbrug. Det er da for kedeligt kun at kigge på
O(n^2) og O(n log(n)) algoritmer.

Quicksort kan forresten blive meget værre end O(n^2), hvis man
sætter den til at sortere en bitvektor. (Den forsøger at dele
array'et i to cirka lige store dele og det kan gå galt, hvis
der er mange ens værdier at sortere.)

mvh Birger Nielsen (bnielsen@daimi.au.dk)


Lasse Reichstein Nie~ (07-12-2001)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 07-12-01 13:14

bnielsen@daimi.au.dk (Kai Birger Nielsen) writes:

> Quicksort kan forresten blive meget værre end O(n^2), hvis man
> sætter den til at sortere en bitvektor. (Den forsøger at dele
> array'et i to cirka lige store dele og det kan gå galt, hvis
> der er mange ens værdier at sortere.)

Hmm, hvordan sorterer man en bitvector? Nullerne før etterne?

XFUT: dk.videnskab (bedste gruppe jeg kunne finde, håber jeg kan finde
ud af at Futte)
/L 'mig ikke forstå'
--
Lasse Reichstein Nielsen - lrn@daimi.au.dk
This message may be reproduced freely for non-commercial purposes.
"... but where do you want to go tomorrow?"

Henning Makholm (07-12-2001)
Kommentar
Fra : Henning Makholm


Dato : 07-12-01 13:36

Scripsit Lasse Reichstein Nielsen <lrn@harald.daimi.au.dk>
> bnielsen@daimi.au.dk (Kai Birger Nielsen) writes:

> > Quicksort kan forresten blive meget værre end O(n^2), hvis man
> > sætter den til at sortere en bitvektor. (Den forsøger at dele
> > array'et i to cirka lige store dele og det kan gå galt, hvis
> > der er mange ens værdier at sortere.)

> Hmm, hvordan sorterer man en bitvector? Nullerne før etterne?

Ja - der er et teorem der siger at hvis en sammenligningsbaseret
sorteringsalgoritme kan sortere alle bitvektorer, kan den sortere
alt.

(Men kompleksiteten af quicksort i det tilfælde bør alligevel ikke
blive værre end O(n²), hvis bare man sørger for at pivot-elementet
selv *ikke* medtages i de rekursive kald).

--
Henning Makholm "... popping pussies into pies
Wouldn't do in my shop
just the thought of it's enough to make you sick
and I'm telling you them pussy cats is quick ..."

Lasse Reichstein Nie~ (07-12-2001)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 07-12-01 16:49

Henning Makholm <henning@makholm.net> writes:

> Scripsit Lasse Reichstein Nielsen <lrn@harald.daimi.au.dk>
> > bnielsen@daimi.au.dk (Kai Birger Nielsen) writes:
>
> > > Quicksort kan forresten blive meget værre end O(n^2), hvis man
> > > sætter den til at sortere en bitvektor. (Den forsøger at dele
> > > array'et i to cirka lige store dele og det kan gå galt, hvis
> > > der er mange ens værdier at sortere.)
>
> > Hmm, hvordan sorterer man en bitvector? Nullerne før etterne?
>
> Ja - der er et teorem der siger at hvis en sammenligningsbaseret
> sorteringsalgoritme kan sortere alle bitvektorer, kan den sortere
> alt.

Det giver mening, man kan vel "radix-sorter" i binær, eller sådan noget.

>
> (Men kompleksiteten af quicksort i det tilfælde bør alligevel ikke
> blive værre end O(n²), hvis bare man sørger for at pivot-elementet
> selv *ikke* medtages i de rekursive kald).

Ja det var det der var mit problem. Worst case for Quicksort er
kvadratisk, og for en version der ikke sorterer elementer der er magen
til pivoten skulle sortering af bitvektorer helst være linært.

/L
--
Lasse Reichstein Nielsen - lrn@daimi.au.dk
This message may be reproduced freely for non-commercial purposes.
"... but where do you want to go tomorrow?"

Asbjorn Hojmark (08-12-2001)
Kommentar
Fra : Asbjorn Hojmark


Dato : 08-12-01 14:15

On Fri, 7 Dec 2001 08:57:06 +0000 (UTC), bnielsen@daimi.au.dk
(Kai Birger Nielsen) wrote:

> Kig på bose-nelson-knuth sortering

Denne tråd har nået et stade, hvor jeg undrer mig over, hvordan I
synes, det relaterer til sikkerhed. Ville den diskussion ikke
mere passende kunne foregå i programmeringsgruppen fx.?

-A
--
http://www.hojmark.org/

Kai Birger Nielsen (05-12-2001)
Kommentar
Fra : Kai Birger Nielsen


Dato : 05-12-01 10:06

In <3c0cf81c$0$7929$edfadb0f@dspool01.news.tele.dk> "Lene" <lenefox@ofir.dk> writes:


>"Kai Birger Nielsen" <bnielsen@daimi.au.dk> skrev i en meddelelse
>news:9uio0v$842$1@news.net.uni-c.dk...

>Hej Birger N.

>Tak for dit svar.

>Jeg har brugt programmet i snart et år og har været godt tilfreds med den
>måde programmet fungerer på og de muligheder der er. Jeg skrev mit indlæg
>her i gruppen fordi jeg ( og dem jeg bruger det sammen med ) er glad for
>programmet, og derfor godt ville have havde nogle til at kikke lidt nøjere
>på den sikkerhed det byder på. Det jeg blev lidt sur over var at man straks
>gik i lag med om det nu var en ægte OTP eller ej. Metode 1 virker nøjagtig
>som PGP, metode 2 bruger en større nøgle til den symmetriske kryptering, og
>man har sikret sig at den kun bruges en gang og deraf navnet OTP. Metode 3
>er lavet som en OPT kryptering, og her har vi så problemet med de "ægte"
>random data.

Det korte svar må så blive at der ikke ser ud til at være noget nyt i
programmet og som Bertel så rigtigt skriver så er noget, flere end en
har kigget på mere troværdigt end et enmandsprodukt.
Dvs hvis programmet er næsten som PGP, så brug PGP i stedet for.
Du kan reelt ikke sikre dig mod at der er en bagdør, når du bruger
programmel, andre har skrevet. (Hvis du en dag har en times tid eller
to til overs, så find en artikel af Ken Thompson med titlen
"Trusting Trust".)

Pointen er her at hvis nogen finder en bagdør i TopSecretCryptos
produkt, vil folk højst sige "nå". Det er ikke engang sikkert at
du hører om det. Hvis nogen finder en bagdør i PGP, er det
forsidestof i EkstraBladet.

Jeg hørte Phil Zimmerman (ophavsmanden til PGP) fortælle om hans
første forsøg på at skrive en kryptering. Han var enormt stolt og
på en konference spurgte han så Shamir om han ville kigge lidt
på Phils algoritme. Shamir satte en af sine PhD studerende til
at kigge overfladisk på den. Den studerende brugte så en times
tid på at fortælle Phil hvilke svagheder han ville kigge efter
hvis han skulle kigge mere end overfladisk på det. Det skræmte
Phil fra vid og sans at få et indblik i kryptanalyse på det plan
og han skrottede øjeblikkeligt alle ideer om selv at finde på
en krypteringsalgoritme.

Pointen er selvfølgelig at en metode, der ser sikker ud for en
overfladisk betragtning ikke nødvendigvis er det. Og det er
langt mere troværdigt at basere sig på en standardalgoritme, der
er beskrevet i litteraturen og hvor man ved at den, der finder
et hul i den, øjeblikkeligt bliver berømt.

Nok om det.

>Jeg skrev også mit indlæg fordi programmet er lavet af een person, men jeg
>har kendskab til at han har arbejdet med programmet i mindst 10 år, da jeg
>har en gammel DOS version af programmet. Derfor var det også interessant at
>få kikket på om det var noget særlig godt jeg havde fundet og brugt med
>glæde. Nogle personer kan jo godt være dygtige til f.eks at lave et
>Krypterings program og så ikke være så gode til at sælge det ved at være
>overstadige og prangende om programmets fortræffeligheder.

>>Hvorfor ikke bare sende sin mail pr forseglet post, hvis det kan
>>vente så længe ?

> Jeg bruger metode 1 til daglig, men ind i mellem bruger jeg metode 2.
>Hvis du har lavet en CD med OTP filer med den du skriver med så går det lige
>så hurtigt med den metode, som med metode 1. En sådan CD holder nemt i
>årevis. OPT filerne er i en Scramdisk på CD skiven.

Ok. Det kan jeg se pointen i. Afhængig af hvem du tror der kunne
være interesseret i at bryde krypteringen er det måske endda
ekstra fornuftigt at bruge et system som ikke er så udbredt som PGP.
Jeg regner med at du har overvejet hvad krypteringen skal gøre
godt for. (Hvis fx modtageren starter med at dekryptere modtagne
data og derefter lader dem ligge på sin pc, så er der jo ikke
megen beskyttelse, hvis hans pc bliver hugget.)

>>Jeg mangler som sagt motivation til overhovedet at se på det her.
>>Hvorfor synes du at det er interessant at se nærmere på det ?

> Ja som jeg har skrevet oven for syntes jeg det er et funktionelt program,
>nøglerne er store, og man kan når programmet arbejder følge godt med i
>processen. Dertil kan jeg komme, men en granskning af den reelle metode
>programmet anvender til at krypterer med kan jeg ikke gennemskue 100 %. Hvis
>den metode faldt ud til at være OK, ja så havde vi jo endnu et godt program
>til at sikre mail mm. Hvis ikke så kunne man skrive til MacGregor K.
>Phillips og påpege de svagheder man har fundet i "algoritmen" og se hvad han
>siger til det.

>Der er meget møg rundt omkring, men det er de færreste programmer der har
>været arbejdet på så længe som dette.

Enig.

>Lyder jeg sur, det er jeg ikke

Det tror jeg heller ikke. Men emails og nyhedspostings er en
meget kontant måde at kommunikere på, så man kommer let til at
virke uhøflig eller det, der er værre, så jeg forsøgte bare at
dæmpe evt kritik på forhånd Reelt var mit spørgsmål jo af
slagsen: Hvorfor skulle vi dog spilde vores tid på sådan noget ?
og det er jo ikke det høfligste svar på din forespørgsel.

Selv om det her allerede er mere end langt nok, så lad mig lige
uddybe hvad det er der bekymrer "os" her i gruppen ved programmer
som det foreliggende.

Hvis man har en sikker (dvs veldokumenteret, velaftestet i
videnskabelige kredse og velfungerende) krypteringsmetode som
RSA, så virker det underligt at man ikke bare bruger den.
Diverse krumspring uden ordentlig begrundelse giver en ubehagelig
ide om at der kunne være fejl i krumspringene, fordi de jo
egentlig er overflødige og derfor er der ingen, der har kigget
så grundigt på dem. Som krumspring tæller fx:
nu genererer vi en masse tilfældige tal og så et tilfældigt
indeks ind i dem og så læser vi nogle tal derfra.

Sådan nogle som mig sidder og tænker: Det giver en _ekstra_
risiko for at man ramler ind i en svaghed ved den anvendte
tilfældighedsgenerator. Dvs mindre sikkerhed, ikke mere.

Hvis det bare er til kommunikation mellem dig og en bestemt
anden person og I egentlig ikke forestiller jer at det er
NSA der forsøger at knække jeres kryptering, så fortsæt.

Hvis der er en reel risiko for at nogen faktisk vil forsøge
at bryde krypteringen og hvis der er trælse konsekvenser hvis
det lykkes, så skift. Det er umuligt at påvise at et program
krypterer sikkert, men hvis det er usikkert kan det let
eftervises. Dvs brug et system, som mange har forsøgt at
bryde uden held.

mvh Birger Nielsen (bnielsen@daimi.au.dk)


Alex Holst (05-12-2001)
Kommentar
Fra : Alex Holst


Dato : 05-12-01 10:19

Kai Birger Nielsen <bnielsen@daimi.au.dk> wrote:
> (Hvis du en dag har en times tid eller to til overs, så find en artikel af
> Ken Thompson med titlen "Trusting Trust".)

http://www.acm.org/classics/sep95/

--
I prefer the dark of the night, after midnight and before four-thirty,
when it's more bare, more hollow. http://a.area51.dk/


Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste