|Home||Switchboard||Unix Administration||Red Hat||TCP/IP Networks||Neoliberalism||Toxic Managers|
May the source be with you, but remember the KISS principle ;-)
Bigger doesn't imply better. Bigger often is a sign of obesity, of lost control, of overcomplexity, of cancerous cells
|See Also||Recommended Books||Recommended Links||Tutorials||FAQs and References||Recommended Papers|
|Symmetric Crypto||Random Generators||Steganography||Digital signatures||Certificates management in OMU||Compression and crypto||Digital Code Signing|
Although cryptography is an ancient art, it had not been widely used until late 19th century. And outside military, real mass application started only with widespread use of personal computers. Before, say, 1990 outside of government classified systems and military the primary users of encryption have been financial institutions with their electronic fund transfer operations. The advent of the Internet in late 80th/early 90th as a cheap vehicle for transferring information electronically to all parts of the world and its inherent lack of security has inspired the use of encryption as a protection for sensitive information. As a direct result, new and rather esoteric encryption algorithms has been developed and put in widespread use to meet those challenges.
One result of the growing economic use of the Internet is the recognition by users and vendors alike that there is a need to provide a mechanism to protect the confidentiality of Internet users and the content of their transactions. Here encryption naturally comes to into play.
This page may help students by providing annotated links to the main topics in cryptography algorithms, including single-key cryptography algorithms, public-key cryptography algorithms, key negotiation algorithms, message authentication algorithms (digital signatures). Essentially basic information and it can be found also on any other similar university course pages.
Please note that many of those algorithms represent a new areas of computer science.
In Internet age cryptography is important for the same reasons that photo IDs were important before and fences were important even before that. Cryptography offers three essential services that protect internet user and his/her data from theft and fraud. These services are authentication, integrity, and confidentiality. The latter in view of latest NSA revelations is mostly illusionary unless you take special measures such as dual layer encryption and steganography. Especially vulnerable are any data stored in the cloud, especially your address books and emails that are stored in Web mail accounts such as Gmail, hotmail or Yahoo mail.
There's a saying that "on the Internet, nobody knows you're a dog." And one of the things that make Internet so attractive, I would say addictive, is the (fake) anonymity it offers. In reality this anonymity is an illusion. Moreover most of your activities are probably stored for five years or more. Some are stored probably for life. In other words you are like a bug under the microscope.
With the current capabilities of various companies (Google, Facebook, Amazon to name a few) and agencies to intercept and log your internet communications this anonymity is greatly exaggerated. Email is probably the most abused type of service. It is routinely intercepted and analyzed. And actually "could email" is a remote storage that does not belong to you so in no way we can talk seriously about anonymity of such email.
Transborder communication are the natural, by law, domain of national three letter agencies. For example all your emails to addresses outside the country are intercepted and stored as a matter of policy.
The US government intercept approximately 1.6 billion messages a day. You also can be pretty sure that all your email to foreign addresses for the last decade or so is stored somewhere and can be retrieved and analyzed in case of necessity. Capabilities of modern storage goes into petabytes(1015) with large government agencies able to store Zettabytes(1021). If we assume that there are 100 millions(108) of active Internet users in the USA (out of 300 million population), then one just one petabyte storage allows approximately 107 per individual. Ten megabytes is a lot of storage for compressed text information and corresponds probably to 100 megabytes uncompressed. If we assume that information is stored for 10 years that's 10 megabytes per year. And this is just one petabyte, the storage that even a medium income individual can assemble without much problems.
One petabyte is 1000 gigabytes which can be stored on 250 4 GB drives, $200 each. So we are taking about something like $70K ($50K for drives and, say, $20K for hardware and software for those drives, assuming 12 drives per server, such as RB-1200 ($700) ). There are a number of different 2U cases that feature 12x3.5" hot swap bays (3 vertically x 4 horizontally -- See Supermicro's SC827)
Any defense from a "fishbowl" effect of such massive storage is based on cryptography or steganography (you can hide messages and "junk" plaintext with a side effect of increasing storage requirements.
Snowden revelations also greatly increased the value of non-standard, custom crypto-algorithms. Now after Snowden revelation we can assume that newer standard crypto algorithms are compromised (it's still unclear if DEC was compromised, as at the time of its creation the priorities were different). That means that you need to use "pre-encryption" with non-standard algorithms and additional key even if your channel is encrypted to ensure privacy of transmission.
With your Web access logs situation is a little bit more fuzzy. If you use particular IP from a particular provider, it not that difficult to log all your web activity. All your Google searches and all you activity on Youtube is logged, no question about it :-). And those logs probably are stored for a very long time. But here we are talking about logs, and the data you've sent, not the data you retrieve. If you use proxies like anonimizers it's more difficult, but at the same time it automatically makes your traffic more suspicious and it comes under higher level of scrutiny. The same is true about usage of PGP for emails. Steganography is much more subtle way to ensure privacy of your emails that PGP encryption. Using "Aesop language" can be viewed as the simplest way to apply steganography to your emails.
In any case without cryptography, privacy of your Internet activities is non-existent. The right assumption is that when you access Internet you are living in a fishbowl.
If you're trying to conduct business you face different problem. Here you need to assure your customers that "you are you, not some impostor". Customers need to be sure that that they're ordering from real businesses. Not from a fake sites designed to steal their financial information. Cryptography also offers a solution to this problem. Certificates are sometimes called "digital IDs," because they can be used to verify the identity of someone you don't know. This process is called "authentication". Certificates can be used with another technique, "digital signatures", to ensure that nobody impersonate you and/or to protect the integrity of data. It's very easy to forge email (although primitive forging is easy to detect), but it's really hard to forge a digitally signed email message.
The level we discuss this subject is very basic and mainly oriented on CS students of Network Security course or similar. I would like to stress again that I not specialist in this particular area, but I hope it still useful for computer science students, especially to students of "Network Security" course that I used to teach.
Bijective compression means that for any file X, F( F'( X ) ) == X. (F is either the compressor or decompressor, and F' is its opposite). this defines lossless compression. This type of compression is important in compressing files and in crypto algorithms.
Custom compression now is often used as a standard first phase of encryption of large chunks of texts. It eliminates redundancy and thus creates significant additional difficulties for attempts to break particular cipher in many case making them simply impossible (using salt to make it unique and if a non standard algorithms with no headers is used). It destroys the notion of the dictionary and of a known plaintext. Even alphabet used became unknown.
Symmetric Crypto Algorithms
Introduction to Public-Key Cryptography
Dr. Nikolai Bezroukov
Mar 02, 2018 | www.zerohedge.com
Hillarys Server Fri, 03/02/2018 - 02:00 PermalinkHelena Bonham-Carter -> Hillarys Server Fri, 03/02/2018 - 02:08 Permalink
I've used a very simple code.
You know those wavy lines that some people put above and below their automatic signature, e-mail address and phone number?
When I wanted to send a private chat using office e-mail I'd make that wavy automatic signature line using the decorative "widgets" font.
The receiver would take the wavy widgets fonts line and change the font from widget symbols to "Cyrillic" font and copy paste the cyrillic line into Google Translate and translate it from Russian into English. And that was my private message.
And to write back he'd just write a message in English, translate it into Russian, change the Cyrillic font into widgets, make the widgets small like a decorative wavy line and stick it above and below his automatic signature.
I don't think anyone would think, Hey this decorative wavy signature line might actually be a coded message in Amharic, Russian or Hebrew, I'll change the font and into all of the world's alphabets one by one and see.Doom and Dust -> Helena Bonham-Carter Fri, 03/02/2018 - 02:12 Permalink
Your message will be detected as suspicious in 2 seconds because it's a statistical outlier compared to other comms. If it's ranked as suspicious enough (when combined with other detection criteria) to land on an analyst's desk, they'll figure it out in 5 minutes. Use peer-reviewed cryptographic implementations or go home.Helena Bonham-Carter -> Doom and Dust Fri, 03/02/2018 - 02:17 Permalink
Even the best encryption is useless when your RNG is compromised.
Guess where the most advanced and widely used RNGs are designed and located?Doom and Dust -> Helena Bonham-Carter Fri, 03/02/2018 - 02:22 Permalink
The most advanced, and the most widely used, are not the same product.
The most widely used are the RNG's integrated into consumer CPU's and OS's. Many are backdoored.
The most advanced are manufactured by small firms in a number of countries.Helena Bonham-Carter -> Doom and Dust Fri, 03/02/2018 - 02:28 Permalink
RNGs in CPUs and other devices are useless for true encryption since they are pseudo-random by definition.
True RNGs are manufactured and maintained from nuclear sources by a small number of companies mostly from one single very small country. Surely you can guess it.Helena Bonham-Carter -> Doom and Dust Fri, 03/02/2018 - 02:32 Permalink
Expand your horizons.Doom and Dust -> Helena Bonham-Carter Fri, 03/02/2018 - 02:44 Permalink
There are CPU-integrated HWRNG's using thermal noise. They are not pseudorandom by definition. There are HWRNG's generating true randomness based on beam splitters, shot noise, reverse-biased semiconductor junctions, the photoelectric effect, and more. If you want to share some knowledge, do it.Helena Bonham-Carter -> Doom and Dust Fri, 03/02/2018 - 03:08 Permalink
Numbers derived from the deterministic processes you mention, no matter how many, are not random and can not be used for high-end encryption or simulations like the Monte Carlo method.
One of the most important and least known books of the 20th century was published in the 50s by the RAND Corporation, titled "A Million Random Digits with 100,000 Normal Deviates". For decades it was THE source of random numbers used around the Western world.
True random numbers are rare and very hard to obtain because they rely on measurements of indeterministic processes like atomic decay.
All of the methods I mentioned are nondeterministic and, in proper implementation, are widely deployed for generating key material. Everyone with an EECS education has heard of the RAND book.
Jun 09, 2017 | arstechnica.com
According to a report published Tuesday by researchers from antivirus provider Eset, a recently discovered backdoor Trojan used comments posted to Britney Spears's official Instagram account to locate the control server
... ... ...
The extension will look at each photo's comment and will compute a custom hash value. If the hash matches 183, it will then run this regular expression on the comment in order to obtain the path of the bit.ly URL:
Looking at the photo's comments, there was only one for which the hash matches 183. This comment was posted on February 6, while the original photo was posted in early January. Taking the comment and running it through the regex, you get the following bit.ly URL:
Looking a bit more closely at the regular expression, we see it is looking for either @|# or the Unicode character \200d. This character is actually a non-printable character called 'Zero Width Joiner,' normally used to separate emojis. Pasting the actual comment or looking at its source, you can see that this character precedes each character that makes the path of the bit.ly URL:
smith2155#2hot make loveid to her, uupss #Hot #X
When resolving this shortened link, it leads to
static.travelclothes.org/dolR_1ert.php, which was used in the past as a watering hole C&C by the Turla crew.
foetusinc Ars Scholae Palatinae Jun 6, 2017 8:16 PM PopularSo spammy social media comments are the new numbers stations ? I've assumed for a while that somebody out there must be doing something similar with image steganography, but leave it to the Russians to come up with something this brilliantly simple.dramamoose Smack-Fu Master, in training Jun 6, 2017 6:52 PMThat's brilliant, and incredibly similar in principle if not execution to tried and true espionage techniques for communication; codewords in BBC broadcasts, newspaper ads sending information, etc. Why risk using a central server which can be eliminated if you can just hide your information in the incredible amount of simple-to-post, easier-to-read social networking out there. If you covered enough sites, you'd likely be able to slip in requests that even a security pro wouldn't be able to pick up. Sure, there are some people who don't use Facebook, Twitter, Instagram, or Reddit, but there aren't that many. Combine it with a few regional networking sites and you could probably hide the traffic in a way that even somebody looking for the transmissions couldn't find them.
Dec 26, 2016 | tech.slashdot.org(onthewire.io) 22
Posted by BeauHD on Monday December 19, 2016 @05:45PM from the come-out-come-out-wherever-you-are dept.
Trailrunner7 quotes a report from On the Wire:
Google has released a new set of tests it uses to probe cryptographic libraries for vulnerabilities to known attacks . The tests can be used against most kinds of crypto algorithms and the company already has found 40 new weaknesses in existing algorithms. The tests are called Project Wycheproof , and Google's engineers designed them to help developers implement crypto libraries without having to become experts. Cryptographic libraries can be quite difficult to implement and making errors can lead to serious security problems. Attackers often will look for weak crypto implementations as a means of circumventing strong encryption in a target app. Among the issues that Google's engineers found with the Project Wycheproof tests is one in ECDH that allows an attacker to recover the private key in some circumstances.
The bug is the result of some libraries not checking the elliptic curve points that they get from outside sources.
"In cryptography, subtle mistakes can have catastrophic consequences, and mistakes in open source cryptographic software libraries repeat too often and remain undiscovered for too long.
Good implementation guidelines, however, are hard to come by: understanding how to implement cryptography securely requires digesting decades' worth of academic literature.
We recognize that software engineers fix and prevent bugs with unit testing, and we found that many cryptographic issues can be resolved by the same means," Daniel Bleichenbacher and Thai Duong, security engineers at Google, said in a post announcing the tool release.
"Encodings of public keys typically contain the curve for the public key point.
If such an encoding is used in the key exchange then it is important to check that the public and secret key used to compute the shared ECDH secret are using the same curve. Some libraries fail to do this check," Google's documentation says.
Ok, so you need to quickly encrypt the contents of you pen drive. The easiest solution is to compress them using the 7z archive file format, that is open source, cross-platform, and supports 256-bit encryption using the AES algorithm.
Linux has LUKS, which can encrypt partitions or do whole-disk encryption. When you create a new partition, the partition manager will give you the option to, say, encrypt the /home directory.
Encrypt with Seahorse
The third option that I will show basically utilizes the popular GNU PG tool to encrypt anything you want in your disk. What we need to install first are the following packages: gpg, seahorse, seahorse-nautilus, seahorse-daemon, and seahorse-contracts which is needed if you're using ElementaryOS like I do. The encryption will be based on a key that we need to create first by opening a terminal, and typing the following command:
Apr 21, 2014| YouTube
Documentary Inside NSA - Discovery Channel
Jan 28, 2015 | youtube.com
A 36-year veteran of America's Intelligence Community, William Binney resigned from his position as Director for Global Communications Intelligence (COMINT) at the National Security Agency (NSA) and blew the whistle, after discovering that his efforts to protect the privacy and security of Americans were being undermined by those above him in the chain of command.
The NSA data-monitoring program which Binney and his team had developed -- codenamed ThinThread -- was being aimed not at foreign targets as intended, but at Americans (codenamed as Stellar Wind); destroying privacy here and around the world. Binney voices his call to action for the billions of individuals whose rights are currently being violated.
William Binney speaks out in this feature-length interview with Tragedy and Hope's Richard Grove, focused on the topic of the ever-growing Surveillance State in America.
On January 22, 2015: (Berlin, Germany) – The Government Accountability Project (GAP) is proud to announce that retired NSA Technical Director and GAP client, William "Bill" Binney, will accept the Sam Adams Associates for Integrity in Intelligence Award today in Berlin, Germany. The award is presented annually by the Sam Adams Associates for Integrity in Intelligence (SAAII) to a professional who has taken a strong stand for ethics and integrity. http://whistleblower.org/press/nsa-wh...
Would You Like to Know More?
Subscribe to the Peace Revolution podcast produced by Tragedy and Hope: http://www.PeaceRevolution.org
Mar 16, 2014 | YouTube
Jesselyn Radack is Edward Snowden's Attorney
Thomas Drake is an Former NSA Executive & Whistleblower
Bulletproof Coffee http://bit.ly/bulletprooflr
December 28, 2012 | Antiwar.com
The US Senate on Friday reauthorized the warrantless wiretapping program started under President George W. Bush by a 73 to 23 vote, easily evading the several amendments proposed to check its dangerous surveillance powers.
The FISA Amendments Act of 2008 authorized broad, warrantless surveillance of Americans' international communications, checked only by a secretive Foreign Intelligence Surveillance Court that doesn't make it's activities and procedures available to the public.
Even though the government has acknowledged that the secretive program has exceeded its legal limits, violating Americans' Fourth Amendment constitutional rights, the Obama administration has aggressively pushed for its full renewal.
When the law was passed in 2008 it amended the Bush administration's initial program and broadened powers for domestic surveillance. President Obama was a presidential candidate at the time, and warned that, while he was voting for its passage, it "does not resolve all of the concerns that we have about President Bush's abuse of executive power."
However, as President Obama has fully embraced the unchecked executive powers and secretive surveillance capabilities built into the FISA Amendment. And the controversy that the bill conjured in 2008 is contrasted with the subdued acceptance of it in 2012.
"The Bush administration's program of warrantless wiretapping, once considered a radical threat to the Fourth Amendment, has become institutionalized for another five years," said Michelle Richardson, the ACLU's legislative counsel.
Several tame amendment were proposed by Senators Ron Wyden, Rand Paul, and Jeff Merkely to try and rein in the surveillance program. But they were all rejected, and the Obama administration has refused to release any further information about it.
"The only thing the public really knows about it so far," writes Julian Sanchez, a policy scholar at the Cato Institute, "is that it was almost immediately misused, resulting in 'significant and systemic' overcollection of Americans' purely domestic communications. Subsequent reporting revealed that the improperly 'overcollected' communications could number in the millions, and included former president Clinton's private e-mails. So naturally, the Senate is charging ahead toward the renewal of these sweeping powers without hearings or debate."
As the American for Civil Liberties Union has explained, the Director of National Intelligence James Clapper says "it isn't even 'reasonably possible' to estimate how many Americans are swept up in the NSA's expansive dragnet."
The Obama administration, as is usual in cases where they disregard the Constitution, promises this mass surveillance comes with strong safeguards and accountability. In reality, the war on terrorism is continuing to be used to justify major infringements on the civil liberties of Americans.
12/05/11 | InformationWeek
A San Francisco-based programming team pieced together five shredded documents in 33 days to win the U.S. Defense Advanced Research Projects Agency's (DARPA's) Shredder Challenge.
The three programmers used custom computer-vision algorithms to assemble the complex puzzles comprised of documents, which were shredded into more than 10,000 pieces. The team spent nearly 600 hours creating the algorithms, designing them to suggest fragment pairings.
The programmers were then able to manually verify the pairings to piece together the documents, which had Antonio Prohias, the creator of the Spy vs. Spy comic strip, as their common, running theme.
DARPA organizers were surprised not only that all of the puzzles were solved, but in a relatively short time.
"Lots of experts were skeptical that a solution could be produced at all, let alone within the short time frame," says DARPA's Dan Kaufman.
He says the most effective approaches combined computational tools, crowdsourcing, and "clever detective work."
12/02/11 | University of London
Royal Holloway, University of London researchers are analyzing the Transport Layer Security (TLS) system to identify weaknesses. The TLS system is designed to ensure the security and safety of online personal information, but vulnerabilities were found in version 1.0 of the system. The researchers say that TLS version 1.2 offers improved security.
"Our analysis of TLS version 1.2 gives us higher confidence that the data we share online will be kept safe, secure, and private," says Royal Holloway professor Kenny Paterson. TLS encrypts messages as they are transmitted across the Internet, keeping personal data insulated against attack. The researchers have found only one vulnerability in the latest version of TLS. "There is still scope for a 'distinguishing attack' against TLS 1.2, where an attacker could tell whether a user has sent a 'yes' or a 'no' during a transaction, for example," Paterson says.
However, he notes that this kind of attack is considered theoretical, and it is very unlikely that it would actually arise in practice. TLS uses a Message Authentication Code (MAC) tag to help provide security, and for the Royal Holloway attack to work, the MAC tag would need to be small.
Feb 24 2003 | SecurityFocus
Netizens with extreme privacy needs got a new tool for their cyber utility belts recently with the release of an application that lets users hide secret messages in virtually any executable computer program, without changing the program's size or affecting its operation.
The tool is called "Hydan," an old English word for the act of hiding something, and it's part of a research project by Columbia University computer science masters student Rakan El-Khalil, who showed off the program to a small group of open-source programmers and hackers gathered at the second annual CodeCon conference in San Francisco on Sunday.
Hydan is a novel development in the field of steganography -- the science of burying secret messages in seemingly innocuous content. Popular stego programs operate on image and music files, where a secret missive can be hidden without altering the content enough to be perceived by human senses. But because they contain instructions for a computer's processor, executable files are less forgiving of tampering. Improperly changing a single bit of executable code can render an application completely unusable.
El-Khalil's research focused on redundancies in the Intel x86 instruction set -- places where at least two different instructions are effectively the same. Each choice between two redundant options can represent a single bit of data. "The problem with program binaries is there is just not a lot of redundancy in them," said El-Khalil.
He found some of that useful redundancy in the instructions that tell the computer to add or subtract.
A computer instruction to add the number 50 to another value, for example, can be replaced with an instruction to subtract the number -50 instead. Mathematically, the instructions are the same. In choosing between the two, a stego program can get one bit of covert storage out of each addition or subtraction operation in the executable -- without changing the way the application runs, or adding a single byte to its size. "If we use a scenario in which addition is zero, and subtraction is one, we can just go through and flip them as needed," El-Khalil explained.
El-Khalil concedes that the method is imperfect -- an application that's been impressed with a secret message has considerably more "negative subtractions" than an unadulterated program, making it easy to pick out through a statistical analysis. Hydan could also break programs that are self-modifying or employ other unconventional techniques. And it's less efficient than stego programs for image and sound files: good steganography for a JPEG file can hide one byte of storage in 17 bytes of image, while Hydan's ratio is one byte of storage to 150 bytes of code.
Future versions of Hydan will boost that capacity by finding different places to code data, such as in the order of a program's functions, and the order in which arguments are passed to those functions. For now, the application is still powerful enough to secretly stash the United States Constitution and the Declaration of Independence in a single copy of Microsoft Word.
Beyond the covert uses, the technology could be used to attach a digital signature to an application, or to embed an executable with a virtual watermark.
Question H: How flexible is your design?
Discussion: That question isn't what you think. A better way of phrasing it would be "How ambiguous is your design?". Flexibility in an abstract crypto design is a Good Thing. Ambiguity in a specification is a Bad Thing. Unfortunately, a cryptographer's flexibility is an implementer's ambiguity, or more bluntly an implementer's nightmare. An example of this is IPsec's IKE, which is so flexible/ambiguous that no two people can agree on what it should look like. As a result, even after years of work, there are still implementations that can't (or barely) interoperate, and even when they interoperate it's often only because implementers figured out what the other side was doing and adapted their code to match it.
Resolution: Once you've impressed everyone with the power and flexibility of your design, provide a sketch of a simple, straightforward, easy-to-get-right profile that implementors can work with. This is a standard feature of protocol specifications, either done explicitly (MUST/SHOULD/MAY) or implicitly when everyone ignores all but the most simple, straightforward part
of the specification. Another way of looking at this is that if implementors are going to ignore much of your design in order to make implementation practical, you want to be the one deciding which bits get used and which don't.
See also: Question G.
Question I: How big a problem are you really solving?
Discussion: Many problems pointed out in crypto papers are relatively insignificant to non-cryptographers, or can be fixed with a trivial update of existing code rather than by changing the crypto design. For example, the "correct" solution to various attacks (real and theoretical) on PKCS #1 v1.5 padding is for implementors to switch to something better such as OAEP, Simple
RSA, PSS, or whatever they're wearing in Santa Barbara this year. However, since the problem can also be resolved with "Don't do that, then", it's easier to stick with an existing solution rather than re-engineering everything to use a new protocol (see the Final Thoughts for a longer discussion on this).
Resolution: Unlike cryptographers, implementors probably won't appreciate the advantages of a design secure in the IND-CCAn+1 model where the previous was only IND-CCAn if it requires a complete redeployment of all of their products. Don't expect to see a new design widely adopted any time soon unless (a) it's being deployed in a greenfields development or (b) you've found a hole
exploitable in O(1) time by an army of script kiddies.
2002/185 ( PDF ) Turing, a fast stream cipher Greg Rose and Philip Hawkes 2002/182 ( PS PS.GZ ) Oblivious Keyword Search Wakaha Ogata and Kaoru Kurosawa 2002/142 ( PDF ) On the Applicability of Distinguishing Attacks Against Stream Ciphers Greg Rose and Philip Hawkes 2002/131 ( PS PS.GZ PDF ) An Improved Pseudorandom Generator Based on Hardness of Factoring Nenad Dedic and Leonid Reyzin and Salil Vadhan
Since graduating in theoretical physics and electrical engineering some 30+ years ago I have had an interest in cryptography and this has developed with the advent of progressively more powerful home computers. In recent years I have played with a number of algorithms where I have taken a particular interest in the techniques involved in making algorithms go as fast as possible.
- The Limits of Cryptanalysis
- Classical Cryptography Course (Lanaki)
- CSE207C Lattices in Cryptography and Cryptanalysis
- Cryptanalysis of CipherSaber-1
- Cryptanalysis of Contents Scrambling System
- Links to papers about cryptanalysis of block ciphers
- FM 34-40-2 Basic Cryptanalysis
- Cryptography, Encryption and Stenography
Public-Key Crypto-systems Using Symmetric-Key Crypto-algorithms
Bruce Christianson, Bruno Crispo, and James A. Malcolm
Abstract. The prospect of quantum computing makes it timely to consider the future of public-key crypto-systems. Both factorization and discrete logarithm correspond to a single quantum measurement, upon a superposition of candidate keys transformed into the fourier domain. Accordingly, both these problems can be solved by a quantum computer in a time essentially proportional to the bit-length of the modulus, a speed-up of exponential order.
At first sight, the resulting collapse of asymmetric-key crypto-algorithms seems to herald the doom of public-key crypto-systems. However for most security services, asymmetric-key crypto-algorithms actually offer relatively little practical advantage over symmetric-key algorithms. Most of the differences popularly attributed to the choice of crypto-algorithm actually result from subtle changes in assumptions about hardware or domain management.
In fact it is straightforward to see that symmetric-key algorithms can be embodied into tamper-proof hardware in such a way as to provide equivalent function to a public-key crypto-system, but the assumption that physical tampering never occurs is too strong for practical purposes. Our aim here is to build a system which relies merely upon tamper-evident hardware, but which maintains the property that users who abuse their cryptographic modules through malice or stupidity harm only themselves, and those others who have explicitly trusted them.
LNCS 2133, p. 182 ff.
Full article in PDF (35 KB)
Recently, a group of Indian scientists made news by announcing an algorithm that appears to be able to tell quickly whether a number is prime or not.
If you're mathematically minded, the actual downloadable primality.pdf is worth reading.
So what does this actually mean for cryptography? First, a little background.
Many of the popular common crypto algorithms work because of "something to do with prime numbers". Most security books are about that vague. So math research about primes could have interesting effects on our field. But is being able to determine whether a number is prime quickly going to be able to help or hinder us? Let's look at the RSA algorithm as an illustrative example. (It lost its patent a few years back, so it's okay to discuss now.)
... ... ...
Public key crypto algorithms such as RSA depend on there being two keys used to encrypt and decrypt a message. (Hence, the "generate a key pair" step you see when setting up many applications that use cryptography.) Every user has a complimentary set made up of a private key and a public key. Anything encrypted with the private key can be decrypted with the public key, and anything encrypted with the public key can be decrypted with the private key. Only you should have a copy of your private key, but anyone can have your public key because it's, well, public. If someone encrypts traffic with your public key, it doesn't matter to you because only you can decrypt it.
So, you're probably thinking, if I have a message to send to Jane, I want to encrypt it. I can't encrypt it with my public key, because she doesn't have my private key to decrypt it. So I'll encrypt it with my private key, and she can decrypt it with my public key. Right? Not quite, but this is a really common mistake. Sure, Jane can decrypt the message with your public key. But so can anyone else. What you need to do is encrypt the message with Jane's public key, so that only Jane's private key (which only Jane should have) can decrypt it.
So, the RSA algorithm says this:
- Take two large prime numbers.
- When multiplied together, they have a product N.
- Find two numbers E and D, such that:
- When E is multiplied by D, that should be equal to one mod (p-1)(q-1).
- What this boils down to is that E and N have to be relatively prime.
- They can't share any common components.
8 and 9 are relatively prime. When broken down as much as possible,
8 = 2 x 2 x 2
9 = 3 x 3
Nothing in common.
8 and 20 are not relatively prime.
8 = 2 x 2 x 2
20 = 2 x 2 x 5
They have 2 in common, so they're not relatively prime.
If E and D are chosen correctly, then let's make C the ciphertext and P the plaintext.
C = M to the E power mod N
M = C to the D power mod N
So, something encrypted with N and E (the public key) can be solved for M -- decrypted into the plaintext. Something encrypted with N and D (the private key) can be solved for the ciphertext C. And since E and D fit together in a defined mathematical relationship as above, you cannot automatically deduce one from the other, but can encrypt and decrypt. The beauty of the modulus is that it's a one way operation. You know what the remainder is, but you'll have to try brute-forcing it to figure out whether it's C multiplied by one with a remainder of three, by two with a remainder of three... by forty thousand with a remainder of three... [grin] That takes a lot of time.
If you want to see an example of this worked out with numbers, there's a clear one at http://math.kennesaw.edu/maa/talks/RSAEncryptionAlgorithm.htm
So, back to our original point. Being able to quickly determine whether a number is prime -- what effect does that have on all this? Well, one of the weakest points about RSA and other public key algorithms is that their large prime numbers are only probably prime. It's really hard to tell whether a number with eight zillion digits is actually prime or not -- you have to try dividing it by every prime number up to half of its value or so. That's very time consuming. Since those of us that use PGP, etc., don't want to wait too long for our keys to be generated, the RSA algorithm picks values for P and Q that are very likely to be prime, but that's not known for certain.
If those numbers aren't actually prime, then there may be different solutions for the equations other than the ones that are supposed to work. So, someone might be able to decrypt a message without having the matching key -- they'd just need a matching key, if there were more than one. (That's what could happen if P and Q aren't prime.) If the new algorithm can determine whether P and Q are really prime and they're not for a given key pair, that could lead to a weakness in RSA. But if that's the case, RSA and other algorithm authors could modify their software to use the new algorithm to ensure that P and Q really are prime, and that would defeat that sort of attack.
There's a lot of sound and fury at the moment about this article, and many people are freaking out about it, but I don't think it's anything to worry about. Mathematicians haven't fully satisfied themselves yet that it's a good tester for primes -- I don't think we'll be seeing exploit code in the near future.
- Technical papers
- Kerckhoffs' principles
- Online technical reports
- Steganography papers
- Crypto protocol papers
- Theory of Cryptography library
- Conference list
- NDSS '96
- IBM Cyberjournal
- Nice description of Kerberos
- Nifty paper on Authentication
- Draft paper on anonymity, etc.
- Hugo's SKEME
- Hugo's security analysis of his new MD5 MAC
- A huge factoring report
- Official GOST standard, translated to English
- TEA block cipher
- Some AU tech reports
- Quantum cryptography
- key lengths
- Some factoring papers I need to read, from AMS:    and some more crypto papers I need to read:    
- New triple-DES mode from Coppersmith et. al. old
- Papers online, from 1996 SCN (Italy)
- Papers online, from Sweden
- DES in FPGA's: SAC'98, a UK implementation
- Baran on security and secrecy
- Other notes and documents
- sci.crypt FAQ
- DVD CSS revealed and broken
- Many technical crypto docs
- A beautiful set of lecture notes for an advanced algorithms course
- Cellphone security stuff
- GSM MoU documents
- GSM direction finder
- NSA handbook for new NSA employees
- The Hacker Crackdown
- PGP User's Guide
- Handbook of Applied Cryptography
- Microsoft's crypto API spec
- Aegean press
- Colin Plumb reading list
- A note on WWW browsers & privacy
- Ross Anderson on ATM technology
- Crypto clip art
- Crypto notes on many ciphers
- PGP statistics
- Schneier's Skipjack info
- Some untested documents on PKZIP cracking:   [and lots o' links]
- ARJ encryption, broken
- Stuff on RNGs
- Papers on LLL
- Cybersecrecy, UK TV program
- How to implement DES
- If you ever have to implement x509...
- STS improved Diffie-Hellman protocol summary
- FIX, a banking protocol
- SIGABA and other naval classical crypto information
- Peter Meyer's intro to crypto
- A paper on Enigma and attacks on it
- Lattice crypto
Here are speed benchmarks for some of the most popular hash algorithms and symmetric and asymmetric ciphers. All were coded in C++ or ported to C++ from C implementations, compiled with Microsoft Visual C++ 6.0 SP4 (optimize for speed, blend code generation), and ran on a Celeron 850MHz processor under Windows 2000 SP 1. Two assembly routines were used for multiple-precision addition and subtraction.
Algorithm Bytes Processed Time Taken Megabytes(2^20 bytes)/Second CRC-32 1073741824 8.682 117.945 Adler-32 2147483648 6.970 293.831 MD2 8388608 11.276 0.709 MD5 1073741824 10.165 100.738 SHA-1 536870912 10.565 48.462 SHA-256 268435456 10.345 24.746 SHA-512 67108864 7.761 8.246 HAVAL (pass=3) 536870912 7.922 64.630 HAVAL (pass=4) 536870912 12.337 41.501 HAVAL (pass=5) 268435456 7.090 36.107 Tiger 268435456 10.325 24.794 RIPE-MD160 268435456 8.332 30.725 Panama Hash (little endian) 1073741824 7.401 138.360 Panama Hash (big endian) 1073741824 11.797 86.802 MDC/MD5 268435456 9.884 25.900 Luby-Rackoff/MD5 67108864 8.402 7.617 DES 134217728 9.945 12.871 DES-XEX3 134217728 11.716 10.925 DES-EDE3 33554432 6.740 4.748 IDEA 134217728 11.286 11.341 RC2 33554432 7.912 4.044 RC5 (r=16) 536870912 12.988 39.421 Blowfish 134217728 7.091 18.051 Diamond2 67108864 11.086 5.773 Diamond2 Lite 67108864 9.403 6.806 3-WAY 201326592 12.728 15.085 TEA 134217728 12.799 10.001 SAFER (r=8) 67108864 10.565 6.058 GOST 134217728 12.829 9.977 SHARK (r=6) 268435456 12.878 19.879 CAST-128 134217728 7.090 18.054 CAST-256 134217728 9.995 12.806 Square 268435456 7.801 32.816 SKIPJACK 67108864 12.017 5.326 RC6 268435456 7.871 32.524 MARS 268435456 8.503 30.107 Rijndael 268435456 8.442 30.325 Twofish 268435456 9.974 25.667 Serpent 134217728 10.505 12.185 ARC4 536870912 8.122 63.039 SEAL 1073741824 8.672 118.081 WAKE 1073741824 13.029 78.594 Panama Cipher (little endian) 1073741824 8.512 120.301 Panama Cipher (big endian) 536870912 7.091 72.204 Sapphire 134217728 12.868 9.947 MD5-MAC 1073741824 12.078 84.782 XMACC/MD5 1073741824 11.096 92.286 HMAC/MD5 1073741824 10.254 99.863 CBC-MAC/RC6 268435456 8.713 29.381 DMAC/RC6 268435456 8.642 29.623 BlumBlumShub 512 524288 10.766 0.046 BlumBlumShub 1024 262144 12.668 0.020 BlumBlumShub 2048 65536 8.903 0.007
- Service de cryptographie et de sécurité informatique du Département d'Informatique de l'Université Libre de Bruxelles
- Crypto law survey by Bert-Jaap Koops
- Digital signature law survey by Simone van der Hof
- Crypto link farm by Peter Gutmann
The first challenge of building a secure application is authentication. Let's look at some examples of authentication from everyday life:
- At an automated bank machine, you identify yourself using your bank card. You authenticate yourself using a personal identification number (PIN). The PIN is a shared secret, something that both you and the bank know. Presumably, you and the bank are the only ones who know this number.
- When you use a credit card, you identify yourself with the card. You authenticate yourself with your signature. Most store clerks never check the signature; in this situation, possession of the card is authentication enough. This is true when you order something over the telephone, as well; simply knowing the credit card number is proof of your identity.
- When you rent a movie at a video store, you prove your identity with a card or by saying your telephone number.
Authentication is tremendously important in computer applications. The program or person you communicate with may be in the next room or on another continent; you have none of the usual visual or aural clues that are helpful in everyday transactions. Public key cryptography offers some powerful tools for proving identity.
In this chapter, I'll describe three cryptographic concepts that are useful for authentication:
- Message digests produce a small "fingerprint" of a larger set of data.
- Digital signatures can be used to prove the integrity of data.
- Certificates are used as cryptographically safe containers for public keys.
A common feature of applications, especially custom-developed "enterprise" applications, is a login window. Users have to authenticate themselves to the application before they use it. In this chapter, we'll examine several ways to implement this with cryptography. In the next section, for instance, I'll show two ways to use a message digest to avoid transmitting a password in cleartext from a client to a server. Later on, we'll use digital signatures instead of passwords.
aesutil 1.0.1 (Stable)
by Tim Tassonis - Friday, July 19th 2002 13:20 EDT
About: aesutil is a small library and command line program to encrypt or decrypt data using the Rijndael algorithm in CBC mode.
Changes: A Windows port of the commandline utility, and better option handling.
Google matched content
Ten most useful resources:
Directories and Portals
Best metalink collections:
Associations and public organizations
The Rijndael Page -- new standard cypher.
Prime numbers and random number generators:
VB Helper Tutorial Cryptography -- basic
Encryption and Security Tutorial
Certicom - Online Tutorial
Welcome to the Elliptic Curve Cryptosystem Classroom. This site provides an intuitive introduction to Elliptic Curves and how they are used to create a secure and powerful cryptosystem. The first three sections introduce and explain the properties of elliptic curves. A background understanding of abstract algebra is required, much of which can be found in the Background Algebra section. The next section describes the factor that makes elliptic curve groups suitable for a cryptosystem though the introduction of the Elliptic Curve Discrete Logarithm Problem (ECDLP). The last section brings the theory together and explains how elliptic curves and the ECDLP are applied in an encryption scheme. This classroom requires a JAVA enabled browser for the interactive elliptic curve experiments and animated examples.
Elliptic curves as algebraic/geometric entities have been studied extensively for the past 150 years, and from these studies has emerged a rich and deep theory. Elliptic curve systems as applied to cryptography were first proposed in 1985 independently by Neal Koblitz from the University of Washington, and Victor Miller, who was then at IBM, Yorktown Heights.
Many cryptosystems often require the use of algebraic groups. Elliptic curves may be used to form elliptic curve groups. A group is a set of elements with custom-defined arithmetic operations on those elements. For elliptic curve groups, these specific operations are defined geometrically. By introducing more stringent properties to the elements of a group, such as limiting the number of points on such a curve, creates an underlying field for an elliptic curve group. In this classroom, elliptic curves are first examined over real numbers in order to illustrate the geometrical properties of elliptic curve groups. Thereafter, elliptic curves groups are examined with the underlying fields of Fp (where p is a prime) and F2m (a binary representation with 2m elements).
Quantum Cryptography Tutorial
Cryptography for encryption, signatures and authentication
Cryptography -- mainly PGP related...
CRC Press has generously given us permission to make all chapters available for free download.
Please read this copyright notice before downloading any of the chapters.
- Chapter 1 - Overview of Cryptography (48 pages)
Postscript file, 554k; Pdf file, 343k.
- Chapter 2 - Mathematics Background (38 pages)
Postscript file, 472k; Pdf file, 301k.
- Chapter 3 - Number-Theoretic Reference Problems (46 pages)
Postscript file, 543k; Pdf file, 397k.
- Chapter 4 - Public-Key Parameters (36 pages)
Postscript file, 497k; Pdf file, 331k.
- Chapter 5 - Pseudorandom Bits and Sequences (22 pages)
Postscript file, 330k; Pdf file, 206k.
- Chapter 6 - Stream Ciphers (32 pages)
Postscript file, 484k; Pdf file, 274k.
- Chapter 7 - Block Ciphers (60 pages)
Postscript file, 783k; Pdf file, 491k.
- Chapter 8 - Public-Key Encryption (36 pages)
Postscript file, 434k; Pdf file, 303k.
- Chapter 9 - Hash Functions and Data Integrity (61 pages)
Postscript file, 690k; Pdf file, 482k.
- Chapter 10 - Identification and Entity Authentication (40 pages)
Postscript file, 444k; Pdf file, 316k.
- Chapter 11 - Digital Signatures (64 pages)
Postscript file, 748k; Pdf file, 526k.
- Chapter 12 - Key Establishment Protocols (53 pages)
Postscript file, 532k; Pdf file, 400k.
- Chapter 13 - Key Management Techniques (48 pages)
Postscript file, 536k; Pdf file, 340k.
- Chapter 14 - Efficient Implementation (44 pages)
Postscript file, 547k; Pdf file, 371k.
- Chapter 15 - Patents and Standards (27 pages)
Postscript file, 296k; Pdf file, 212k.
- Appendix - Bibliography of Papers from Selected Cryptographic Forums (40 pages)
Postscript file, 363k; Pdf file, 331k.
- References (52 pages)
Postscript file, 521k; Pdf file, 459k.
- Index (26 pages)
Postscript file, 236k; Pdf file, 160k.
Dynamical systems are often described as ``unpredictable" or ``complex" as aspects of their behavior may bear a cryptic relationship with the simple evolution laws which define them. Some theorists work to quantify this complexity in various ways. Others try to turn the cryptic nature of dynamical systems to a practical end: encryption of messages to preserve their secrecy. Here some previous efforts to engineer cryptosystems based on dynamical systems are reviewed, leading up to a detailed proposal for a cellular automaton cryptosystem.
Cryptosystems constructed from cellular automaton primitives can be implemented in simply constructed massively parallel hardware. They can be counted on to deliver high encryption/decryption rates at low cost. In addition to these practical features, cellular automaton cryptosystems may help illuminate some foundational issues in both dynamical systems theory and cryptology, since each of these disciplines rests heavily on the meanings given to the intuitive notion of complexity.
Prime Numbers - University of Tennessee
Mercy - block encryption algorithm Mercy is a fast block cipher operating on 4096-bit blocks, designed specifically around the needs of disk sector encryption. It takes a 128-bit parameter representing the block number being encrypted, so that saving the same plaintext to different blocks results in different ciphertexts. Mercy was presented at Fast Software Encryption 2000.
SSH - Tech Corner - Cryptographic Algorithms
The Mandala Centre - Compression and Security - One on one compression FAQ
Crypto and Security Courses
Lectures for Computer Security
These lectures contain the base introductory material used for this course. After these lectures, the student will be familiar with the underlying concepts of advanced operating systems.
The Enigma was one of the best of the new electromechanical cipher machines produced for the commercial market in the 1920s. Hugo Koch, a Dutchman, conceived of the machine in 1919. Arthur Scherbius first produced it commercially in 1923. Impressed by its security, which was based on statistical analysis, the German government acquired all rights to the machine and adapted it to the needs of its new, modern military forces. It became the standard cipher machine of the military services, of German agents, and of the secret police. It was also used at all echelons from high command to front-line tactical units including individual airplanes, tanks, and ships. An ordinary three-wheel Enigma with reflector and six plug connections generated the following number of coding positions:
Given this statistical capability, proper communications procedures and practices, and the fact that solving the Enigma on a timely basis would require rapid analytic machinery which did not exist, the Germans regarded the Enigma as impenetrable even if captured. The Germans, however, did not always practice proper communications security, and, more importantly, the Allies, even in 1938-39, were on the verge of creating the necessary cryptanalytic machinery which would unlock the Enigma's secrets. The evolution of this technology and its application were major contributing factors to the ultimate Allied victory in World War II.
See also Humor
The viral marketing campaign revolves around a Flash game infested with techie throwaway words
in which the user must guide a "worm" through a "computer system" to collect "nodes" and "crack"
a password within 60 seconds.
Jokes Magazine Employee Review January 25, 2000 (The classic crypto joke)
My boss asked me for a letter describing my partner Bob Smith, and this is what I wrote:
Bob Smith, my assistant programmer, can always be found
hard at work in his cubicle. Bob works independently, without
wasting company time talking to colleagues. Bob never
thinks twice about assisting fellow employees, and he always
finishes given assignments on time. Often Bob takes extended
measures to complete his work, sometimes skipping
coffee breaks. Bob is a dedicated individual who has absolutely no
vanity in spite of his high accomplishments and profound
knowledge in his field. I firmly believe that Bob can
be classed as a high-caliber employee, the type which cannot
be dispensed with. Consequently, I duly recommend that Bob
be promoted to executive management, and a proposal will
be executed as soon as possible.
S.D. - Project Leader
Shortly afterward I sent the following follow-up note: That bastard Bob was reading over my shoulder while I wrote the report sent to you earlier today. Kindly read only the odd numbered lines (1, 3, 5, etc.) for my true assessment. Regards,
Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers : Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism : The Iron Law of Oligarchy : Libertarian Philosophy
War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda : SE quotes : Language Design and Programming Quotes : Random IT-related quotes : Somerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose Bierce : Bernard Shaw : Mark Twain Quotes
Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 : Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law
Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds : Larry Wall : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOS : Programming Languages History : PL/1 : Simula 67 : C : History of GCC development : Scripting Languages : Perl history : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history
The Peter Principle : Parkinson Law : 1984 : The Mythical Man-Month : How to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Hater’s Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite
Most popular humor pages:
Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor
The Last but not Least Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand ~Archibald Putt. Ph.D
Copyright © 1996-2018 by Dr. Nikolai Bezroukov. www.softpanorama.org was initially created as a service to the (now defunct) UN Sustainable Development Networking Programme (SDNP) in the author free time and without any remuneration. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.
FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.
This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...
|You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info|
The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.
Last modified: May 27, 2018