Jul 19, 2009

Maurice Wilkes - Wikipedia, the free encyclopedia

http://en.wikipedia.org/wiki/Maurice_Wilkes

Sir Maurice Vincent Wilkes FREng FRS (born June 26, 1913) is a British computer scientist credited with several important developments in computing.

Contents

[hide]

[edit] Early life, education, and military service

Wilkes was born in Dudley, Staffordshire, England and studied Mathematics at St. John's College, Cambridge from 1931 to 1934, continuing to complete a Ph.D. in physics, on the topic of radio propagation of very long radio waves in the ionosphere in 1936. He was appointed to a junior faculty position of the University of Cambridge through which he was involved in the establishment of a computing laboratory.

Wilkes was called up for military service during WWII and worked on radar at the Telecommunications Research Establishment (TRE), and in operational research.

[edit] Initiation into electronic computing

In 1945, Wilkes was appointed as the second director of the University of Cambridge Mathematical Laboratory (later known as the Computer Laboratory).

The Cambridge laboratory initially had many different computing devices, including a differential analyser. Wilkes obtained a copy of John von Neumann's prepress description of the EDVAC, a successor to the ENIAC under construction by Presper Eckert and John Mauchly at the Moore School of Electrical Engineering. He had to read it overnight because he had to return it and no photocopy facilities existed. He decided immediately that the document described the logical design of future computing machines, and that he wanted to be involved in the design and construction of such machines.

In August 1946 Wilkes traveled by ship to the United States to enroll in the Moore School Lectures, of which he was only able to attend the final two weeks because of various travel delays. During his time in the United States he visited all of the relevant American sites of computing progress and became intimately familiar with the ENIAC, for a while even living next door to Mauchly on Philadelphia's St. Marks Street.

[edit] Construction of the EDSAC

Since his laboratory had its own funding, he was immediately able to start work on a small practical machine, the EDSAC, once back at Cambridge. He decided that his mandate was not to invent a better computer, but simply to make one available to the university. Therefore his approach was relentlessly practical. He used only proven methods for constructing each part of the computer. The resulting computer was slower and smaller than other planned contemporary computers. However, his laboratory's computer was the first practical stored program computer to be completed, and operated successfully from May 1949.

[edit] Other computing developments

In 1951, he developed the concept of microprogramming from the realisation that the Central Processing Unit of a computer could be controlled by a miniature, highly specialised computer program in high-speed ROM. This concept greatly simplified CPU development. Microprogramming was first described at the Manchester University Computer Inaugural Conference in 1951, then published in expanded form in IEEE Spectrum in 1955. This concept was implemented for the first time[1] in EDSAC 2, which also used multiple identical "bit slices" to simplify design. Interchangeable, replaceable tube assemblies were used for each bit of the processor. This was extremely advanced for the time.

The next computer for his laboratory was the Titan, a joint venture with Ferranti Ltd. It eventually supported the UK's first time-sharing system and provided wider access to computing resources in the university, including time-shared graphics systems for mechanical CAD.

A notable design feature of the Titan's operating system was that it provided controlled access based on the identity of the program, as well as or instead of, the identity of the user. It introduced the password encryption system used later by Unix. Its programming system also had an early version control system.

Wilkes is also credited with the idea of symbolic labels, macros, and subroutine libraries. These are fundamental developments that made programming much easier and paved the way for high-level programming languages.

Later, Wilkes worked on an early timesharing systems (now termed a multi-user operating system) and distributed computing.

Toward the end of the 1960s, Wilkes also became interested in capability-based computing, and the laboratory assembled a unique computer, the Cambridge CAP.

In 1974 Wilkes encountered a Swiss data network (at Hasler AG) that used a ring topology to allocate time on the network. The laboratory initially used a prototype to share peripherals. Eventually, commercial partnerships were formed, and similar technology became widely available in England.

[edit] Awards, honors, and leadership positions

In 1956 he was elected a Fellow of the Royal Society.

He was a founder member of the British Computer Society (BCS) and its first president (1957-1960).

Wilkes received the Turing Award in 1967, with the following citation: "Professor Wilkes is best known as the builder and designer of the EDSAC, the first computer with an internally stored program. Built in 1949, the EDSAC used a mercury delay line memory. He is also known as the author, with Wheeler and Gill, of a volume on Preparation of Programs for Electronic Digital Computers in 1951, in which program libraries were effectively introduced." In 1968 he received the Harry H. Goode Memorial Award, with the following citation: "For his many original achievements in the computer field, both in engineering and software, and for his contributions to the growth of professional society activities and to international cooperation among computer professionals."

In 1980 he retired from his professorships and post as the Head of the laboratory and joined the central engineering staff of Digital Equipment Corporation in Maynard, Massachusetts.

In 1986 Wilkes returned to England, and became a member of Olivetti's Research Strategy Board. In 1993 Wilkes was presented, by Cambridge University, an honorary Doctor of Science degree. In 1994 he was inducted as a Fellow of the Association for Computing Machinery. He was awarded the Mountbatten Medal in 1997. He was knighted in the 2000 New Year Honours List. In 2002, Wilkes moved back to the Computer Laboratory, University of Cambridge, as an Emeritus Professor.

In his Memoirs Wilkes writes:

It was on one of my journeys between the EDSAC room and the punching equipment that "hesitating at the angle of the stairs" the realization came over me with full force that a good part of the remainder of my life was going to be spent finding errors in my own programs.

[edit] References

  1. ^ Wilkes, Maurice V., "IEEE Annals of the History of Computing archive" - Volume 14 , Issue 4 (October 1992), p.49-56 - http://portal.acm.org/citation.cfm?id=612476

[edit] Publications

  • Automatic Digital Computers. John Wiley & Sons, New York, 1956, 305 pages, QA76.W5 1956.

[edit] External links


Jul 17, 2009

Red Sea Berlin X2 Venturi Aquarium Protein Skimmer - Reef Aquarium Reef Tank Blog

http://www.reeflounge.net/red-sea-berlin-x2-venturi-aquarium-protein-skimmer.html

Red Sea Berlin X2 Venturi Aquarium Protein Skimmer

Red Sea Berlin X2 Venturi Aquarium Protein Skimmer



User Reviews Send this to a friend
Red Sea Berlin X2 Venturi Aquarium Protein Skimmer
 
Manufacturer: Red Sea Phish Pharms
Customer Rating:
 
List Price: Varies based on product options
Sale Price: $199.99
Availibility: Usually ships in 1-2 business days

Buy Now
 

Product Description

The Berlin X2 is the latest evolution of the popular Berlin range of skimmers, used by thousands of satisfied aquarists around the world since 1993. The X2 offers a 50% increase in skimming performance over the old model, while preserving its predecessors small footprint and compact dimensions. Each Berlin X2 Skimmer features a 50% increase in skimming over the older Berlin models, an enhanced triple pass reaction chamber, a patented FoamView collection cup, quick fit parts for easy maintenance, a high performance pump specifically made for the X2, and a versatile design that can be used as a hang on tank or in sump skimmer. Red Sea's patented Triple-PassTM maximizes the water-air contact time inside the skimmer reaction chamber, stripping the aquarium water of even the smallest traces of organic pollutants, while minimizing the external dimensions and footprint of the skimmer. By forcing the water-air mixture along a circuitous route, the Berlin X2 achieves a total surface area equal to that of much larger conventional skimmers. The Venturi model is excellent for tanks up to 150 gallons. Please use our chart on the right for tank sizes.

Jul 16, 2009

Research Advices

http://pages.cs.wisc.edu/~remzi/Classes/736/Fall2000/papers-advice.html

Advice on Research/Systems

Hamming, Richard
You and Your Research
Talk given at Bell Labs, March, 1986.

Hoare, C.A.P.
The Emperor's Old Clothes
Communications of the ACM, Vol. 24, No. 2, February 1981, pp. 75-83.

Lampson, Butler
Hints for Computer System Design
Proceedings of the Ninth Symposium on Operating Systems Principles, Bretton Woods NH, October 1983, pp. 33-48.

Lauer, Hugh
Observations on the Development of an Operating System
Proceedings of the Eighth Symposium on Operating Systems Principles, Pacific Grove CA, December 1981, pp. 30-36

J. Saltzer, D. Reed, and D. Clark
End-to-end Arguments in System Design
ACM Transactions on Computer Systems, Vol. 2, No. 4, pp. 195-206, 1984

Useful to read for research purposes

Day, R.A.
How to Write a Scientific Paper
IEEE Transactions on Personal Communication, Vol. 20, No. 1, June 1977, pp. 32-37.

Abshire, G.M. and White, K.L.
Techniques and Suggestions for Presenters
IEEE Transactions on Personal Communication, Vol. 21, No. 3, September 1978, pp. 97-100.

Smith, Alan Jay
The Task of the Referee
IEEE Computer, Vol. 23, No. 4, April 1990, pp. 65-71.

Frank Wolfs
The Scientific Method

Ousterhout, John K.
Informal Advice on Paper Reviews
Unpublished Document

Levin, R. and Redell, D.
An Evaluation of the Ninth SOSP Submissions
Operating Systems Review, Vol. 17, No. 3, July 1983, pp. 35-40.

George D. Gopen and Judith A. Swan
The Science of Scientific Writing
American Scientist 78, 6 (November-December, 1990), pages 550-558.


Jul 12, 2009

IDA Pro - MultimediaWiki

http://www.wiki.multimedia.cx/index.php?title=IDA_Pro

IDA Pro

From MultimediaWiki

Jump to: navigation, search

IDA Pro is a disassembler and debugger with a lot of features that is very useful for reverse engineering.

It is proprietary software that runs on Windows and Linux; there is a zero-cost evaluation version.

Boosting the freeware version

The freeware version of IDA Pro is an invaluable tool. One important function is the ability to produce different flow graphs from the disassembly. Sometimes these graphs can be quite messy and needs to be processed. The version of wingraph32.exe that is included with the freeware version of IDA Pro can't save the generated graphs. Just replace it with a version from a demo version of IDA Pro and the save option will be availible. Saved graphs will have a .gdl suffix.

Converting gdl flow graphs to dot files

Since there aren't any really good tools to display and edit gdl files, you can convert them with the following script

#!/usr/bin/perl    use strict;    my $FILE1 = $ARGV[0];  open(OUTFILE, ">".$FILE1.".dot") or die "File doesn't exist\n";  my $indata = `cat $FILE1`;  my @split = split(/node:/, $indata);  my $graphname = shift @split;  $graphname =~ s/^.*title:[^"]*"([^"]*)".*$/$1/s;  print OUTFILE "digraph \"$graphname\" {\n";  print OUTFILE "\tgraph [\n";  print OUTFILE "\t]\n";  print OUTFILE "\tnode [\n";  print OUTFILE "\t\tshape = \"box\"\n";  print OUTFILE "\t]\n";  print OUTFILE "\tedge [\n";  print OUTFILE "\t]\n";    # convert nodes  foreach my $n (@split) {    $n =~ s/}.*$//s;    my $label = my $title = $n;    $title =~ s/^.*title:[^"]*"([^"]*)".*$/$1/s;    $label =~ s/^.*label:[^"]*"([^"]*)".*$/$1/s;    $label =~ s/\n/\\n/sg;    print OUTFILE "\t\"$title\" [\n";    print OUTFILE "\t\tlabel = \"$label\"\n";    print OUTFILE "\t];\n";  }    @split = split(/edge:/, $indata);  shift @split;    # convert edges  foreach my $e (@split) {    $e =~ s/}.*$//s;    my $color = my $label = my $source = my $target = $e;    $source =~ s/^.*sourcename:[^"]*"([^"]*)".*$/$1/s;    $target =~ s/^.*targetname:[^"]*"([^"]*)".*$/$1/s;    print OUTFILE "\t\"$source\" -> \"$target\" [\n";    if ($label =~ s/^.*label:[^"]*"([^"]*)".*$/$1/s) {      $label =~ s/\n/\\n/sg;      print OUTFILE "\t\tlabel = \"$label\"\n";    }    if ($color =~ s/^.*color:[[:space:]]*([^ ]*)[[:space:]}].*$/$1/s) {      print OUTFILE "\t\tcolor = $color\n";    }    print OUTFILE "\t];\n";  }  print OUTFILE "}\n" 

Recovering the function prototypes from the disassembly

Well it's not really possible but a good hint is possible without much work. First load the binary you want to analyse. IDA Pro will process the file for some time. If you start browsing around you will see that IDA Pro can make a good guess on how many arguments a function have. That is one thing that can be extracted. The other is if a function returns something or not. The x86 C ABI declares that the return type if any has to be left in the eax register. So if the eax register is used after a call the function that was called returned something. The following not so nice perl script can process the asm file that can be produced from IDA Pro with Produce->ASM-File (Alt+F10).

#!/usr/bin/perl #Argument parser  if (@ARGV){   print "@ARGV\n";   if ($ARGV[0] eq "-f"){     $FILE1 = $ARGV[1];     $FILE2 = $ARGV[2];     $filter = 1;   } } else{   print "Usage:\n";   print "./argumentcounter.pl [command] file.asm output.txt\n";   print "-f dummy command\n";   exit; }   #File IO open(OUTFILE, ">$FILE2") or die "File problem\n"; @indata = `cat $FILE1`;  $fn = 0;        #amount of founctions $functions[$fn] = ""; $arguments[$fn] = 0; $f_start = 0; $links= 0; foreach $rad (@indata) {    $rowcounter++;     if ($rad =~ m/ proc near/) {        $functions[$fn] = $`;        $fn++;        $f_start = 1;        $arguments[$fn] = 0;        #print STDOUT "$`\n";    }    if ($f_start == 1) {        $radsubstring = (substr $rad,0,3);        if ($radsubstring eq "arg") {            $arguments[$fn]++;        }    }    if ($rad =~ m/ endp/) {        $f_start = 0;    }     #return type detector    if ($rad =~ m/call\t/) {        $retfunction = $';        $retfunction =~ m/\n/;        $retfunction = $`;        chop($retfunction);        $rowcounter = 0;        $callcheck = 1;    }    if (($callcheck) && ($rowcounter>0)) {         @tmpsplit=split /\t/,$rad;        chomp($tmpsplit[0]);        chomp($tmpsplit[1]);        chomp($tmpsplit[2]);        chomp($tmpsplit[3]);        $instruction = $tmpsplit[2];        $arguments = $tmpsplit[3];        chop($arguments);        if ($arguments =~ m/, /) {            @argum=split /, /,$arguments;        }        #chomp($argum[0]);        #chomp($instruction);        if ($argum[0] eq "eax") {            $callcheck = 0;        }        if ($argum[1] eq "eax") {            $callcheck = 0;        }         #check source operand if it is eax        if (($argum[1] eq "eax") && ($instruction ne "xor")) {            $callcheck = 0;            $nonvoid{$retfunction} = $nonvoid{$retfunction} +1;            #print STDOUT "$retfunction returns nonvoid\n";        }        if (($argum[0] eq "eax") && ($argum[1] ne "eax")){            $callcheck = 0;            $void{$retfunction} = $void{$retfunction} +1;            #print STDOUT "$retfunction returns void\n";        }        if ($instruction =~ /retn/) {            #stop searching when the current function returns            $callcheck = 0;            $void{$retfunction} = $void{$retfunction} +1;            #print STDOUT "$retfunction returns void\n";        }        if ($rowcounter > 10) {            $callcheck = 0;        }        $argum[0] = "";        $argum[1] = "";    } }  for ($i=0 ; $i < $fn ; $i++){    #returntype handling    $returntype = "unknown";    if ($void{$functions[$i]} > 0) {        $returntype = "void";    }    if ($nonvoid{$functions[$i]} > 0) {        $returntype = "int";    }    if (($void{$functions[$i]} > 0) && ($nonvoid{$functions[$i]} > 0)){        $returntype = "void $void{$functions[$i]} - $nonvoid{$functions[$i]} int";    }    print STDOUT "$returntype $functions[$i] $arguments[$i]\n"; } 

How to generate graph of function flows in Linux

As I have shared it here:

http://groups.google.com/group/idapython/browse_thread/thread/dd1831478e2086cb/4d693c1df5bb45b7#4d693c1df5bb45b7

Here goes the details:

a.   In my Fedora Core 10 (other version should work as well), "yum
install graphviz*" to install GraphViz.   You need the "dot" command.
b.   Goto:

http://www.wiki.multimedia.cx/index.php?title=IDA_Pro

And copy the first script, which basically convert from GDL to DOT
output file.   Let's name it as "gdl_to_dot.pl".

c.   Goto the directory where IDA Pro's wingraph.exe is
"theoretically" loaded.   Modify the "wingraph32.exe" as follows:

/usr/bin/idapro51/idaadv>cat wingraph32.exe
#!/bin/bash
shift
cp $3 /tmp/tmpoutput.gdl
wine /usr/bin/idapro51/idaadv/wingraph32_real.exe $*

The original wingraph32.exe is renamed as wingraph32_real.exe, which
is a PE binary.   "wingraph32.exe" will be called by IDA Pro, and the
third argument ($3) is in fact a GDL output file, created by IDA
Pro.   Here the shell script will save it as a separate file,
otherwise IDA Pro will very soon delete the temporary file.

d.   Use the gdl_to_dot.pl to convert it to dot file:

gdl_to_dot.pl /tmp/tmpoutput.gdl

Another /tmp/tmpoutput.gdl.dot will be created.

e.   Next use dot to convert it to PostScript file:

dot -Tps /tmp/tmpoutput.gdl.dot -o /tmp/tmpoutput.ps

f.   Use evince to render PostScript file:

evince /tmp/tmpoutput.ps

There goes the completed rendering.

For the sake of reader, the gdl_to_dot.pl script is reproduced as
follows:

(from http://www.wiki.multimedia.cx/index.php?title=IDA_Pro)

#!/usr/bin/perl

use strict;

my $FILE1 = $ARGV[0];
open(OUTFILE, ">".$FILE1.".dot") or die "File doesn't exist\n";
my $indata = `cat $FILE1`;
my @split = split(/node:/, $indata);
my $graphname = shift @split;
$graphname =~ s/^.*title:[^"]*"([^"]*)".*$/$1/s;
print OUTFILE "digraph \"$graphname\" {\n";
print OUTFILE "\tgraph [\n";
print OUTFILE "\t]\n";
print OUTFILE "\tnode [\n";
print OUTFILE "\t\tshape = \"box\"\n";
print OUTFILE "\t]\n";
print OUTFILE "\tedge [\n";
print OUTFILE "\t]\n";

# convert nodes
foreach my $n (@split) {
  $n =~ s/}.*$//s;
  my $label = my $title = $n;
  $title =~ s/^.*title:[^"]*"([^"]*)".*$/$1/s;
  $label =~ s/^.*label:[^"]*"([^"]*)".*$/$1/s;
  $label =~ s/\n/\\n/sg;
  print OUTFILE "\t\"$title\" [\n";
  print OUTFILE "\t\tlabel = \"$label\"\n";
  print OUTFILE "\t];\n";

}

@split = split(/edge:/, $indata);
shift @split;

# convert edges
foreach my $e (@split) {
  $e =~ s/}.*$//s;
  my $color = my $label = my $source = my $target = $e;
  $source =~ s/^.*sourcename:[^"]*"([^"]*)".*$/$1/s;
  $target =~ s/^.*targetname:[^"]*"([^"]*)".*$/$1/s;
  print OUTFILE "\t\"$source\" -> \"$target\" [\n";
  if ($label =~ s/^.*label:[^"]*"([^"]*)".*$/$1/s) {
    $label =~ s/\n/\\n/sg;
    print OUTFILE "\t\tlabel = \"$label\"\n";
  }
  if ($color =~ s/^.*color:[[:space:]]*([^ ]*)[[:space:]}].*$/$1/s) {
    print OUTFILE "\t\tcolor = $color\n";
  }
  print OUTFILE "\t];\n";

}

print OUTFILE "}\n"

Thank you.

Jul 10, 2009

How (and How Not) to Write a Good Systems Paper

http://pages.cs.wisc.edu/~remzi/Classes/736/Fall2000/Papers/sosp.html

Criteria for Evaluation of Submissions

Original Ideas

Are the ideas in the paper new? There is no point in submitting a paper to a conference or journal concerned with original work unless the paper contains at least one new idea.

How do you know? You must be familiar with the state of the art and current research in the area covered by your paper in order to know that your work is original. Perhaps the most common failing among the submissions in the first category (real systems) was an absence of new ideas; the systems described were frequently isomorphic to one of a small number of pioneering systems well-documented in the literature.

Can you state the new idea concisely? If your paper is to advance the state of knowledge, your readers must be able to find the new ideas and understand them. Try writing each idea down in a paragraph that someone generally versed in the relevant area can understand. If you can't, consider the possibility that you don't really understand the idea yourself. When you have the paragraphs, use them in the abstract for the paper.

What exactly is the problem being solved? Your readers cannot be expected to guess the problem you faced given only a description of the solution. Be specific. Be sure to explain why your problem couldn't be solved just as well by previously published techniques.

Are the ideas significant enough to justify a paper? Frequently, papers describing real systems contain one or two small enhancements of established techniques. The new idea(s) can be described in a few paragraphs; a twenty-page paper is unnecessary and often obscures the actual innovation. Since construction of a real system is a lot of work, the author of the paper sometimes unconsciously confuses the total effort with the work that is actually new. ("My team worked on this system for two years and we're finally done. Let's tell the world how wonderful it is.") If the innovation is small, a small paper or technical note in a suitable journal is more appropriate than an SOSP submission.

Is the work described significantly different from existing related work? An obvious extension to a previously published algorithm, technique, or system, does not generally warrant publication. Of course, the label "obvious" must be applied carefully. (Remember the story of Columbus demonstrating how to make an egg stand on end (by gently crushing it): "it's obvious once I've shown you how".) You must show that your work represents a significant departure from the state of the art. If you can't, you should ask yourself why you are writing the paper and why anyone except your mother should want to read it.

Is all related work referenced and have you actually read the cited material? You will have difficulty convincing skeptical readers of the originality of your efforts unless you specifically distinguish it from previously published work. This requires citation. Furthermore, you will find it harder to convince your readers of the superiority of your approach if they have read the cited works and you haven't.

Are comparisons with previous work clear and explicit? You cannot simply say: "Our approach differs somewhat from that adopted in the BagOfBits system [3]." Be specific: "Our virtual memory management approach uses magnetic media rather than punched paper tape as in the BagOfBits system [3], with the expected improvements in transfer rate and janitorial costs."

Does the work comprise a significant extension, validation, or repudiation of earlier but unproven ideas? Implementation experiences supporting or contradicting a previously published paper design are extremely valuable and worthy candidates for publication. Designs are cheap, but implementations (particularly those based on unsound designs) are expensive.

What is the oldest paper you referenced? The newest? Have you referenced similar work at another institution? Have you referenced technical reports, unpublished memoranda, personal communications? The answers to these questions help alert you to blind spots in your knowledge or understanding. Frequently, papers with only venerable references repeat recently published work of which the author is unaware. Papers with only recent references often "rediscover" (through ignorance) old ideas. Papers that cite only unpublished or unrefereed material tend to suffer from narrowness and parochialism. Remember that citations not only acknowledge a debt to others, but also serve as an abbreviation mechanism to spare your readers a complete development from first principles. If the readers need to acquire some of that development, however, they must be able to convert your citations into source material they can read. Personal communications and internal memoranda fail this test. Technical reports are frequently published in limited quantities, out-of-print, and difficult to obtain. Consequently, such citations as source material should be avoided wherever possible.

Reality

Does the paper describe something that has actually been implemented? Quite a few of the SOSP submissions proceeded for fifteen pages in the present tense before revealing, in a concluding section (if at all), that the foregoing description was of a hypothetical system for which implementation was just beginning or being contemplated. This is unacceptable. Your readers have a right to know at the outset whether the system under discussion is real or not.

If the system has been implemented, how has it been used and what has this usage shown about the practical importance of the ideas? Once again, a multiple man-year implementation effort does not of itself justify publication of a paper. If the implemented system contains new ideas, it is important to explain how they worked out in practice. A seemingly good idea that didn't pan out is at least as interesting as one that did. It is important to be specific and precise. "Our weather prediction system is up and running and no one has complained about its occasional inaccurate forecasts" is much less convincing than "every time we fail to forecast rain, the users hang their wet shirts over the tape drives to dry". In the latter case, at least we know that people are using and depending on the system. If the system hasn't been implemented, do the ideas justify publication now? This can be a difficult question for an author to answer dispassionately, yet any reviewer of the paper will make this judgment. It is always tempting to write a design paper describing a new system, then follow it up in a year or two with an "experience" paper. The successful papers of this genre nearly always include initial experience in the closing sections of the design paper. The subsequent experience paper then deals with the lessons learned from longer-term use of the system, frequently in unanticipated ways. Reviewers are very skeptical of design-only papers unless there are new ideas of obviously high quality.

Lessons

What have you learned from the work? If you didn't learn anything, it is a reasonable bet that your readers won't either, and you've simply wasted their time and a few trees by publishing your paper.

What should your readers learn from the paper? Spell out the lessons clearly. Many people repeat the mistakes of history because they didn't understand the history book.

How generally applicable are these lessons? Be sure to state clearly the assumptions on which your conclusions rest. Be careful of generalizations based on lack of knowledge or experience. A particularly common problem in "real system" papers is generalization from a single example, e.g., assuming that all file system directories are implemented by storing the directory in a single file and searching it linearly. When stating your conclusions, it helps to state the assumptions again. The readers may not have seen them for fifteen pages and may have forgotten them. You may have also.

Choices

What were the alternatives considered at various points and why were the choices made the way they were? A good paper doesn't just describe, it explains. Telling your readers what you did doesn't give them any idea how carefully considered your choices were. You want to save future researchers from following the same blind alleys. You also want to record potentially interesting side-streets you didn't happen to explore. Make sure to state clearly which is which.

Did the choices turn out to be right, and if so was it for the reasons that motivated them in the first place? If not, what lessons have you learned from the experience? How often have you found yourself saying "this works, but for the wrong reason"? Such a pronouncement represents wisdom (at least a small amount) that may benefit your readers. Many papers present a rational argument from initial assumptions all the way to the finished result when, in fact, the result was obtained by an entirely different path and the deductive argument fashioned later. This kind of "revisionist history" borders on dishonesty and prevents your readers from understanding how research really works.

Context

What are the assumptions on which the work is based? The skeptical readers are unlikely to accept your arguments unless their premises are stated. Make sure you get them all; it's easy to overlook implicit assumptions.

Are they realistic? For "unimplemented systems" papers, this amounts to asking whether the assumptions of the design can hope to support a successful implementation. Many paper designs are naive about the real characteristics of components they treat abstractly, e.g., communication networks or humans typing on terminals. For theoretical studies, it must be clear how the assumptions reflect reality, e.g., failure modes in reliability modelling, classes of security threats in security verification, arrival distributions in queuing systems.

How sensitive is the work to perturbations of these assumptions? If your result is delicately poised on a tall tower of fragile assumptions, it will be less useful to your readers than one that rests on a broader and firmer foundation.

If a formal model is presented does it give new information and insights? Simply defining a model for its own sake is not very useful. One deep theorem is worth a thousand definitions.

Focus

Does the introductory material contain excess baggage not needed for your main development? "Real system" papers are particularly guilty of irrelevant description. If your subject is distributed file systems, the physical characteristics of the connection between computer and communication network are probably not germane. Avoid the temptation to describe all major characteristics of your system at the same level of depth. Concentrate instead on the novel or unusual ones that (presumably) will be the focus of the original technical content of the paper.

Do you include just enough material from previously published works to enable your readers to follow your thread of argument? Do not assume that they have read every referenced paper within the last week and have them at their fingertips for instant reference. If you want your readers to get past page three, avoid introductory sentences of the form "We adopt the definition of transactions from Brown [4], layering it onto files as described by Green [7, 18], with the notions of record and database introduced by Black [10] and White [12] and later modified by Gray [6]". On the other hand, don't burden your readers unnecessarily with lengthy extracts or paraphrases from cited works.

Presentation

  • Are the ideas organized and presented in a clear and logical way?
  • Are terms defined before they are used?

Are forward references kept to a minimum? Readers get annoyed when they repeatedly encounter statements like "Each file consists of a sequence of items, which will be described in detail in a later section". Your readers have to remember the technical term "item", but the term has no semantics yet. It's all right to ask them to do this once or twice, but only when absolutely necessary. Even if you can't afford the digression to explain item at this point, give readers enough information to attach some meaning to the term: "Each file consists of a sequence of items, variable-sized, self-identifying bit sequences whose detailed interpretation will be discussed below under `Multimedia Files'." Your readers may not yet understand your concept of files completely, but at least they have some glimpse of the direction in which you are leading them.

Have alternate organizations been considered? Theoretical papers, particularly of a mathematical character, are generally easier to organize than papers describing systems. The expected sequence of definition, lemma, theorem, example, corollary works well for deductive argument, but poorly for description. In "real system" papers, much depends on the intent: global survey or selective treatment. Frequently, difficulties in organization result from the author's unwillingness to commit to either approach. Decide whether you are surveying your system or focusing on a specific aspect and structure the paper accordingly.

Was an abstract written first? Does it communicate the important ideas of the paper? Abstracts in papers describing systems are sorely abused. The abstract is more often a prose table of contents than a precis of the technical content of the paper. It tends to come out something like this: "A system based on Keysworth's conceptualization of user interaction [4] has been designed and implemented. Some preliminary results are presented and directions for future work considered." Readers skimming a journal are unlikely to keep reading after that. Avoid the passive voice (despite tradition) and include a simple statement of assumptions and results. "We designed and implemented a user interface following the ideas of Keysworth and discovered that converting the space bar to a toe pedal increases typing speed by 15%. However, accuracy decreased dramatically when we piped rock music instead of Muzak into the office." Leave discussion and argument for the paper. It helps to write the abstract before the paper (despite tradition) and even the outline, since it focusses your attention on the main ideas you wants to convey.

Is the paper finished? Reviewers can often help you to improve your paper, but they can't write it for you. Moreover, they can't be expected to interpolate in sections marked "to be included in the final draft". In a mathematical paper, a reviewer regards the statement of a theorem without proof with suspicion, and, if the theorem is intended to culminate prior development, with intolerance. Similarly, in a paper describing a system, a reviewer cannot tolerate the omission of important explanation or justification. Omitting sections with a promise to fill them in later is generally unacceptable.

Writing Style

  • Is the writing clear and concise?
  • Are words spelled and used correctly?
  • Are the sentences complete and grammatically correct?
  • Are ambiguity, slang, and cuteness avoided?
If you don't have sufficient concern for your material to correct errors in grammar, spelling, and usage before submitting it for publication, why should you expect a reviewer to read the paper carefully? Some reviewers feel that this kind of carelessness is unlikely to be confined to the presentation, and will reject the paper at the first inkling of technical incoherence. Remember that you are asking a favor of your reviewers: "Please let me convince you that I have done interesting, publishable work." Reviewers are more favorably disposed toward you if they receive a clean, clear, carefully corrected manuscript than if it arrives on odd-sized paper after ten trips through a photocopier and looking like it was composed by a grade-school dropout. Even if you aren't particularly concerned with precise exposition, there is certain to be someone in your organization who is. Give your manuscript to this conscientious soul and heed the resulting suggestions.

Summary

These thirty-odd questions can help you write a better technical paper. Consult them often as you organize your presentation, write your first draft, and refine your manuscript into its final form. Some of these questions address specific problems in "systems" papers; others apply to technical papers in general. Writing a good paper is hard work, but you will be rewarded by a broader distribution and greater understanding of your ideas within the community of journal and proceedings readers.

Jun 15, 2009

My Homemade PBX

http://wandel.ca/homepage/pbx.html

My Homemade PBX

Background

I've been fascinated with telecommunications from an early age. When I was twelve or so I had an intercom system from which I could talk to most of the house from my corner of the kids' room. It was made out of the amplifier from a record player, and miscellaneous parts from old TV sets. When I was fourteen someone gave me a WW2 vintage shortwave receiver with a blown power supply. I was able to make a new power supply for it, out of TV set parts, and then I spent many hours scanning the airwaves for radio signals in my native tongue. I was always making intercom systems, lamp signaling apparati, even a homemade morse clicker although I never learned the code. What I wanted to build most of all was a dial telephone system but I had no phones and no idea how the switching apparatus could be designed.

My decision to go for a co-op and then fulltime job at Bell-Northern Research was influenced by the closeness to telephone technology this would entail. What did I know; I ended up designing computer hardware which, while it does run telephone central offices, has no visible relation to telephones.

I did gain access to a lot of junked electronic components that would allow me to build complex projects. Also I had learned about microcontrollers which allow the construction of smart electronic projects. And lastly, I had begun to frequent suburban garage sales, where telephones of every description were plentiful and cheap. The stage was set to finally build my own dial telephone system. I spent several months of evenings and weekends on this, in the 1992-93 timeframe. I didn't draw a schematic for it, but I will give here what information I have in my notes or can remember.

This is intended for educational and/or entertainment purposes. In no way is it sufficient information to duplicate the circuit. Perhaps it will satisfy the next person who asks about it after reading the brag reference I inserted into this old Usenet posting.

Specifications

  • Eight telephone extensions with roughly telco spec voltages and currents (48V onhook, 90VRMS 20Hz sinusoidal ringing, about 25mA loop current offhook.) Ring trip is sub-spec but can handle at least 3 "500" type rotary dial telephone sets in parallel without false tripping. Lines are not balanced, nor is one side ground.

  • One central office line capable of inbound calls (ring detector) and outbound calls with DTMF and pulse dialing (selectable, independent of the type of extension phones. That is, the PBX can convert tone-pulse and pulse-tone.)

  • Three internal voice buses, meaning up to three calls in progress simultaneously.

  • Telco standard call progress tones (dial, busy, fast busy, audible ringing.)

Features

The following features are available on the extension lines.

Dial Sequence Function
Flash Put current call on temporary hold, await command
00 Ring all stations
01x Set ring ring pattern:
0 --- ---
1 -- -- --
2 - ----
3 ---- -
4 ----
5 -
6 - -
7 - - -
8 - - - -
9 ------
02 Ring again -- redial last extension, if busy ring me back when it becomes free
03x
*x
Speed dial x (0-9)
04x Park/unpark call against extension x (put on hold so you can hang up / retrieve from hold.)
05 Park/unpark call against own extension
06x Forward calls to extension x, or to outside line with 069...
060 Cancel call forward
081x... Set speed dial x (0-9) with digits that follow
082 Disable/enable ringing for outside calls
09 Join incoming outside call in progress
9 Get outside line. If outside line already on hold, send a flash on it
# Redial

Example Usage

Call arrives on outside line. All extensions that currently have outside ringing enabled (toggled with 082) ring with the same cadence as the outside line.

Extension 5 picks up the call. All phones stop ringing.

Extension 2 picks up too, gets dial tone. Wishes to join the incoming call, so dials 09. Connected to extension 5 and the outside line.

Extension 1 dials 9. Gets busy signal. Dials 02, gets stutter dialtone confirmation, hangs up.

Extensions 2 and 5 both hang up, terminating the outside call. Extension 1 gets a single short ring. Picks up the phone, is automatically connected to the outside line.

Extension 1 makes a pulse-dial call but the outside line is configured for DTMF so the PBX converts the digits.

Extension 1 parks the call by flashing, then dialing 05.

Extension 7 forwards all calls to an outside number by dialing 0697451576. Extension 3 retrieves the parked outside call by picking up and dialing 041.

Extension 8 dials 01800 to ring all available stations with the four-short-bursts ringing pattern. Prearranged signal for a certain person to pick up, whatever extension they are nearest. Extension 5 picks up, call is completed.

Extension 3 wishes to access a special feature on the outside line, transmits a flash by flashing to enter command mode (confirmed with stutter dial tone), dialing 9.

And so on...

Hardware Design Philosophy

This is not a low-cost design intended for publication and exact reproduction by others. It was completely tailored to what components I already had and what was cheap to buy. It is also not terribly efficient; if in doubt I insert an extra op-amp buffering stage or more clamping diodes just to be sure. The low-tech relay switching matrix is because I had tons of relays but no CMOS switches, and didn't know how to use the latter at the time anyway.

The massively oversampled digital tone generator is because I am a digital weenie.

Similarly offhook detection in the line circuits could probably be done with solid-state circuitry but I actually like the chatter of the relays as phones are dialed.

Analog Hardware

Let's start with the line circuit. There is one of these for each extension.

The voice paths 1-3 of all the line circuits are connected together. So if any given pair of line circuits select the same voice paths with relays K3 and K4, they can talk with each other. Any line that is not currently connected to a voice path is terminated via a 600 ohm resistor so that it doesn't sound funny.

When the phone goes offhook, current is drawn through the 200 and 300 ohm resistors and the line relay K2, which closes. Via the debounce circuit a clean OFFHOOK- signal goes to the control complex. Pulse dialing and switchhook flash are detected by timing the OFFHOOK- signal in software.

The large voltage changes caused by this are kept out of the voice circuitry by capacitor C2, which at 4uF is much larger than it needs to be.

To ring the line, ring voltage is generated and relay K1 is activated. This places capacitor C1 effectively in parallel with the relay coil, shunting the potentially strong ring current around it so that it doesn't chatter (which would result in "false trip", i.e. a false offhook indication.) However if the phone goes offhook, the capacitor is discharged by the DC current and the line relay closes within one or two cycles of the ring waveform. The control complex then immediately cuts off ringing by opening relay K1.

That's all there is to it, except for very careful sequencing of the relays. For example, the control signal to K1 is synchronized in hardware to the zero crossings of the ring waveform, and the voice path is connected via K3/K4 only when C2 is in steady state, so that no click results. For example, if the line has just picked up after being rung, a brief delay occurs before the call is connected.

Connected to each voice path is the circuitry to detect DTMF tones and generate audible call progress tones. I don't have a schematic for it, but I do have a wiring diagram which is just as good:

The top device is a Crystal Semiconductor 8870 DTMF receiver. It listens to the voice bus via a super conservative arrangement of resistors, capacitors and diodes to ensure it can't get damaged by voltage transients. Due to its high input impedance it can always listen.

The bottom device is a DAC-08 digital-to-analog converter for generating the tones. A dual op amp (LM358) is used to convert the current output of the DAC-08 to voltage, then rebuffer it after lowpass filtering. The output impedance is 600 ohms. Again, diode clamping is used to protect the electronics from harm. This circuit is only connected to the voice bus when needed via the voice bus relay (not shown) as the 600 ohm termination impedance is not wanted during an actual call.

Next, here is the circuit that generates the ring waveform:

Not shown is the DAC-08 that generates the 20Hz sinewave; it's hooked up the same way as in the voice path circuit. An extra op amp is used as an adjustable gain stage to drive the output transistors. Not shown is the push-pull darlington pair of output transistors running on +/- 20V and the transformer that transforms the ring voltage up to the final level. There is no provision to eliminate crossover distortion; a "nearly sinusoidal" ring waveform is quite good enough. The transformer needs to work at 20Hz; normal AC line transformers don't, so I had to salvage an audio output transformer out of a junked hi-fi tube amplifier. The ring voltage is gated on and off by controlling the bits going into the DAC; when no phone needs to be rung it is kept off for safety.

Not shown is the power supply which generates the following voltages:

  • +/- 20V unregulated for the ring driver
  • +/- 15V regulated for the analog electronics
  • +10V unregulated for the relay drive (12V relays but close enough)
  • +5V regulated for the digital electronics
  • -48V unregulated but very well filtered for the line circuits
Not shown is the circuit for the outside line. In a nutshell it has a relay tree like K3/K4 in the line circuits to be able to connect to any of the voice paths. Instead of the 600 ohm resistor in the default tree brach, it has a DTMF dialer block consisting of a "5089" DTMF generator, a 74LS139 to control it, and an op-amp driver stage to buffer the output. More diode clamping, and coupling to the world via an air-gap type 1:1 audio transformer (without the air gap it would saturate due to the DC current flowing on the outside line side.) A ring detector similar to that found in a modem detects outside line ringing, and a simple relay connects and disconnects the transformer to facilitate going offhook, pulse dialing and flashing.

The reason I don't show these things is not that they are more obvious than the other stuff, but that I don't have neat diagrams I can scan in.

Digital Tone Generation

The DACs take unsigned 8-bit linear audio samples. The following waveforms need to be generated.
  1. Silence.
  2. 20Hz sinusoid for the ring voltage.
  3. Sum of 350Hz and 440Hz sinusoid for dial tone.
  4. Sum of 440Hz and 480Hz sinusoid for audible ringing.
  5. Sum of 480Hz and 620Hz sinusoid for busy signal.
The samples all stored in an EPROM. Because of the way the clock frequencies worked out and because I did not wish to bother with much analog filtering, I decided to generate tones at 86.4K samples/second, and since the tone waveforms all repeat themselves within 1/10 second I generated 1/10 second's worth. This required a 27512 type EPROM, which by that time was a cheap part so the waste of resources was insignificant. The following AmigaBASIC program was used to generate the samples (in assembler input file format.)
    ns = 8640     pi = 3.14159265#     OPEN "tones.asm" FOR OUTPUT AS #1     PRINT #1,"; Digitized ring, dial, audible ring, and busy tones"     PRINT #1," .org 0"     FOR i = 0 TO ns+3        PRINT #1, " .byte ";        PRINT #1, INT(SIN(2*i*2*pi/ns)*127.99+128);        t1 = SIN(35*i*2*pi/ns)        t2 = SIN(44*i*2*pi/ns)        t3 = SIN(48*i*2*pi/ns)        t4 = SIN(62*i*2*pi/ns)        PRINT #1, ","; INT(t1*63.99+t2*63.99+128);        PRINT #1, ","; INT(t2*63.99+t3*63.99+128);        PRINT #1, ","; INT(t3*63.99+t4*63.99+128)     NEXT     CLOSE #1 
The microprocessor controls all this with just seven control signals -- three 2-bit tone selects for the voice paths and a 1-bit ring voltage enable. Digital sequencing automatically gates the tones on and off at the 1/10 second points where they cross zero, so pulsed tones don't have clicks where they are gated on and off. Likewise the ring voltage is gated at zero crossing points, plus a synchronization signal is generated somewhat ahead of the zero crossing point to allow the ring relays to be switched close to it. All this makes the system "sound" cleaner and also reduces wear & tear on the ring relay contacts.

The ABEL files for the two PALs in the digital tone section can be found here and here.

Control Complex I/O Summary

Quite a few control signals have accumulated in the previous description. These are mapped into the 8031 CPU's address space as a bunch of read-only input locations and write-only output locations.

Address
(hex)
Read Write
4000 4200 4400 4600 4800 6000 6400 6800       
H8  H7  H6  H5  H4  H3  H2  H1     SW  V2  V1  V0  __DTMF rec 0__                 __DTMF rec 1__                 __DTMF rec 2__       
.   .   TN1 TN0 .   D2  D1  D0   M8  M7  M6  M5  M4  M3  M2  M1 L8  L7  L6  L5  L4  L3  L2  L1 R8  R7  R6  R5  R4  R3  R2  R1 .   RE  _TS2__  _TS1__  _TS0__ .   .   .   .   _DTMF sender__         

Where, for line x, Hx is the OFFHOOK input, Mx and Lx are the controls for relays K3 and K4 respectively, and Rx is the control for K1 (ring relay.) For voice channel y, Dy is controls the relay that connects the tone generator to the channel, "DTMF rec y" is the 4-bit DTMF receiver listening to the channel, Vy is DTMF tone valid for the channel, "TSy" is the call progress tone select for the channel (silence, dial, audible ring, busy.) RE is the ring voltage enable, "DTMF sender" is the control bits for the DTMF generator. TN1 and TN0 control the relays that connect the outside ("trunk") line to the one of the voice paths. SW is the DIP switch that selects pulse or tone dial for the central office line.

Not shown is the offhook control for the outside line, which is connected directly to P1.1 of the 8031, and the ring detect from the outside line, which is connected to P1.0.

The TSy and RE outputs are retimed in by the tone sequencing circuitry.

Control Complex Hardware

The control complex is an 8031 microcontroller operating at 11.0592MHz. A 2764 EPROM occupies locations 0-1FFF hex of its address space, and an 8Kx8 SRAM occupies 2000-3FFF. The serial port is brought out to a standard RS232 connector vial a MAX232 device. The addressable I/O locations described earlier are implemented as a bunch of address decoding and 74x374 octal flip-flops/tristate drivers. There is no schematic, but there is one PAL file.

ULN2003 drivers are used for the relays.

Control Complex Firmware

The firmware is fairly well documented in the source code. The assembler used was as31, a free 8031 assembler from the net.

The firmware was debugged by keeping a simple debug monitor and download program in ROM, and downloading the firmware to RAM for testing. No other debug tools were used. When the firmware was finished, it was burned into ROM. The serial port is not used with the final firmware.

Last words

It works! From a telephone, it sounds indistinguishable from the real telephone network. When a call to another extension connects through, there is no click, you merely hear the dying oscillations of the bell as the handset is lifted away. Phones and answering machines of every description have been tried with this and all work fine.

I wired a lot of LEDs into the circuit to show the status of all relays, the tone selects, the ring voltage, the external ring detect. By picking up three phones and dialing different extensions with different ring cadences, quite a neat rhythm of clicks and flashing lights can be generated.

Despite the unbalanced lines, there don't seem to be hum pickup problems. I have had a telephone separated from the switch by about 100m of twisted-pair telephone wire and it worked fine.

The only value this thing has is entertainment value. It's great when there are guests with bored kids, and once set up it gets plenty of attention from the adults too, if they are engineers that is.

I don't actually use it for anything.

It was worth building because it finally scratched that childhood itch.

Back to my projects page


HP Labs : Compaq & DEC

http://www.hpl.hp.com/techreports/Compaq-DEC/

Technical Reports

Compaq & DEC

The Technical Reports appearing on this page were published by Compaq & DEC from 1981-2002. If you have any questions regarding these reports contact: HP Labs Technical Report Department

Jump to:   CRL -- Cambridge Research Laboratory
NSL -- Network Systems Laboratory
PRL -- Paris Research Laboratory
SRC -- Systems Research Center
WRL -- Western Research Laboratory

Cambridge Research Laboratory

Network Systems Laboratory

Paris Research Laboratory

Systems Research Center

Western Research Laboratory


Jun 9, 2009

How often to wash canister [Archive] - Arofanatics Fish Talk Forums

http://www.arofanatics.com/forums/archive/index.php/t-299641.html


View Full Version : How often to wash canister


VRISCHIKA™
02-09-2007, 02:33 AM
Dear all brothers,
My filteration sytem consist of 1x 2ftOHF, 2 sponge filter from airpump, 1xcanister filter.
All this are used to filter 4x2 ft tank. Recently i found my tankmates died without any reason and my aro lost appetite.
To my shock, i have not been washing my canister for the pass 3 yrs, recently i washed and the canister was very extreme dirty, water like Kopi black.:p NOw all are well, lesson learn, no matter how many filter you put in, cleaning your filter is a must.:p

Liang_Zai
02-09-2007, 02:38 AM
wah bro 3years nv wash lolz.....The feeling shiok hor as i tink wash canister troublesome.....When my tank is on canister i wash once a month....

WATARI"18
02-09-2007, 04:49 AM
last time i useing canister filter,i seldom wash....;)

TLG
02-09-2007, 04:53 AM
for me every 3 mths once

cHiNaMaN80
02-09-2007, 05:18 AM
I clean my canister every 3-4 weeks

As long as your cleaning media with tankwater, not TAP.

There is no such thing as being too clean. The cleaner the better, as long as you have BB's

lpkoh5
02-09-2007, 08:52 AM
I used to wash once per 3mths :D

Freshman
02-09-2007, 09:09 AM
wow! 3years:eek: :eek:
I think if ur tank bioload is high and u didn't have any pre-filter attached to the canister inlet.. then I suggest u do canister maintenance every 3-4 months.
Just open it n rinse all the bio media with tank water & replace all the filter wools. Do also wash the inlet & outlet tubes..might clog with algae/dirt

Another way to know when to do canister maintenance is when the flowrate drops..:D

Occellatus
02-09-2007, 09:55 AM
I clean mine twice a year.....once every 6 months.

yongsum
02-09-2007, 10:50 AM
I clean mine twice a year.....once every 6 months.

me too same. sometimes 3 per year. got eheim 2260 and 5x2x2.5 with moderate fish load :D

tanhql
02-09-2007, 10:53 AM
i clean mine every 6 months, just to replace the filter floss. even so, the filter floss only turn very slightly brown (i use a sponge prefilter which i switch out and wash every week). i also use seachem purigen that i switch out during cleaning time.

octane
02-09-2007, 11:42 AM
used to change wool once every 5-6months. then increase frequency to around 1-2months then convert to sump. :D

main thing is not the medias but the wool and cleaning the coarse sponge if you have it. take out trays and change wool, clean sponge. water inside just throw away then put back everything and top up with tank water and you're good to go for another month. :D

tangmulong4488
02-09-2007, 11:51 AM
once every 6 months if i remember:o

atom
02-09-2007, 11:56 AM
used to change wool once every 5-6months. then increase frequency to around 1-2months then convert to sump. :D

main thing is not the medias but the wool and cleaning the coarse sponge if you have it. take out trays and change wool, clean sponge. water inside just throw away then put back everything and top up with tank water and you're good to go for another month. :D

Yes indeed, Canister can be tiring. I do total maintenance once a month. This is to prevent too much waste trap inside which will increase the level of bbs causing too much bio-activities. In other words, it will become a nitrate sump if not maintain regularly.

Tustar
02-09-2007, 12:10 PM
Yes indeed, Canister can be tiring. I do total maintenance once a month. This is to prevent too much waste trap inside which will increase the level of bbs causing too much bio-activities. In other words, it will become a nitrate sump if not maintain regularly.

mine 2mth once . . wool become brown prata :eek:

atom
02-09-2007, 12:14 PM
mine 2mth once . . wool become brown prata :eek:

Not just a prata. Lembak prata.:D

Star-flog
02-09-2007, 12:17 PM
3 months once.

alf88
02-09-2007, 12:23 PM
For me, since i'm running 3 x 2028, :D i clean them alternately every month, i just removed the first 2 trays, rinse down the last tray which consist of the most waste, and placed them back filling with tank water, so far so good, ;)

tangmulong4488
02-09-2007, 12:27 PM
For me, since i'm running 3 x 2028, :D i clean them alternately every month, i just removed the first 2 trays, rinse down the last tray which consist of the most waste, and placed them back filling with tank water, so far so good, ;)

wa bro, 3 2028 not cheap:cool:

alf88
02-09-2007, 12:29 PM
wa bro, 3 2028 not cheap:cool:

All bought from AF Buy/Sell, :D actually got 4 x 2028 with 1 2217 but use them for another tank, ;) Still looking for some more, :D

VRISCHIKA™
02-09-2007, 12:59 PM
Now i connect my outlet to a filter box:p more filter....:D

octane
02-09-2007, 01:08 PM
All bought from AF Buy/Sell, :D actually got 4 x 2028 with 1 2217 but use them for another tank, ;) Still looking for some more, :D

wah.. eheim siao :D

alf88
02-09-2007, 01:10 PM
wah.. eheim siao :D

No lah, just that they are very reliable, ;)

octane
02-09-2007, 01:10 PM
Now i connect my outlet to a filter box:p more filter....:D

imo, not practical cos output from cannister should be clean already, dun need anymore filteration. if you want, add a prefilter before cannister intake, at least do mechanical filteration so cannister does not get dirty that fast thus maintenance period can be dragged longer. just have to take out prefilter and wash, dun even need to stop cannister. ;)

octane
02-09-2007, 01:11 PM
No lah, just that they are very reliable, ;)

totally agree, but atom has his reservations, no luck with eheim :D

i used to have 2x2028 too, sold off one and keep the other one in storeroom on 24/7 standby just in case my sump fail in one way or another. :D

alf88
02-09-2007, 01:17 PM
totally agree, but atom has his reservations, no luck with eheim

Not no luck, he prefers DIY, :D

i used to have 2x2028 too, sold off one and keep the other one in storeroom on 24/7 standby just in case my sump fail in one way or another. :D

Kept in storeroom, :p Better sell to me, :D got lubricate the O-ring or not ? Wait want to use O-ring hardened and coz leaking, :(

octane
02-09-2007, 01:50 PM
Kept in storeroom, :p Better sell to me, :D got lubricate the O-ring or not ? Wait want to use O-ring hardened and coz leaking, :(

got use vaseline. :D

mbteo75
02-09-2007, 04:47 PM
I Wash My Cannister Every 3-4 Months... Filter Wool Must Change Too.

EdgyBoy
02-09-2007, 07:23 PM
never, just let waste decompose inside and BB to settle the rest. :)

octane
02-09-2007, 07:28 PM
never, just let waste decompose inside and BB to settle the rest.

you extreme lah :D

atom
02-09-2007, 07:41 PM
never, just let waste decompose inside and BB to settle the rest. :)

Haha. For normal hobbyist, they will be suffuring from high nitrate level liao. Secondly, I never really like BB to settle the all the waste especially high bio-load. It simply increase the BB to a high level which means that dead BB will be plentiful too. This will leads to other problems.:D

EdgyBoy
02-09-2007, 07:53 PM
dead BB means more food for live BB mah, it is an endless cycle...

i'm not extreme, more lazy. haha watching n "playing" with my fishes is more fun than doing maintenance work.

Dene
02-09-2007, 08:07 PM
got prefilter at my cannister inlet. just change the prefilter wool n never open the cannister for about a year now... :)

tangmulong4488
02-09-2007, 08:22 PM
dead BB means more food for live BB mah, it is an endless cycle...

i'm not extreme, more lazy. haha watching n "playing" with my fishes is more fun than doing maintenance work.

i like what you say:p

atom
02-09-2007, 08:38 PM
dead BB means more food for live BB mah, it is an endless cycle...

i'm not extreme, more lazy. haha watching n "playing" with my fishes is more fun than doing maintenance work.

Hopefully it is that simple. Don't think aerobe bb feeds on dead aerobe bb.:o

EdgyBoy
04-09-2007, 12:04 AM
ohoh, sounds like a bomb scare.... better go do maintenance this weekend :D


Prefilter for canisters [Archive] - Aquaria Central

http://www.aquariacentral.com/forums/archive/index.php/t-1642.html


View Full Version : Prefilter for canisters


Sumpin'fishy
12-13-2002, 9:27 PM
What does everyone use for prefiltering the intake tubes to their canisters?

TwoTankAmin
12-13-2002, 10:31 PM
Max III Prefilter

Sumpin'fishy
12-13-2002, 10:39 PM
what is that? (Max III prefilter) Where do I look for info on it?

krowland
12-14-2002, 6:17 AM
You can check out the Max III prefilter at www.thatfishplace.com. I use a round pond filter pad with a hole in the center slipped over the intake of my Eheims. It works well to keep out the big stuff. The foam is about 2 inches in diameter and fits tightly over the end of the intake. I find that my Pl*co likes to clean them for me.

Tightdog1
12-14-2002, 8:57 PM
i use the sponges from powerhead intakes to cover filter intakes works well, as it should

Sumpin'fishy
12-14-2002, 10:54 PM
I cut a hole in the middle of a large sponge before and stuck that on the intake of my Magnum HOT. After about a week, I noticed about a quarter of the HOT canister was filled with air. It was clogging up the filter enough to stop the full water flow from working. It drastically increased my current and quickly filled back up with water when I would remove the prefilter and clean it. Same problem again the next week, etc. I decided that since my fish are too large to get sucked in, I would just leave it off altogether. I just don't wanna have to clean my mechanical filter sleeve as often as I have to now. Why did my prefilter sponge get clogged so quickly, and does any of yours do the same? I really would rather not slow down the current and water turn-over rate.

Richer
12-15-2002, 2:18 AM
My dad bought me a pack of Eheim's prefilter sponges... basically a cylinder shaped sponge with a hole in the middle. Works great for me.. I never had problems with air building up in any of my canisters (a fluval 404 and an eheim 2026). I just blast the thing with tap water once a week to keep it clean.

HTH
-Richer

JSchmidt
12-16-2002, 10:32 AM
The Filter Max III is pretty good. It has a variety of attachment devices to fit just about any size input tube, and it can be oriented horizontally or vertically. The sponge material itself is a bit coarser than I like, but otherwise they work fine.

Most of my prefilters are Tetra PHAS sponges. They are basically just a sponge cylinder with a hole drilled the length of the sponge. I then drill holes in the last 3" or so of the intake tube, so that water will be drawn in the length of the sponge, not just at the bottom. Works great!

Jim

Sumpin'fishy
12-16-2002, 5:06 PM
That's a good idea, Jim, I think I'll try drilling additional holes in the intake and adding the sponge again, thanks guys!

JSchmidt
12-16-2002, 5:24 PM
I wish I could claim the prefilter idea as my own. I got it from one of RobertTR's articles (http://www.tomgriffin.com/aquamag/cannister.html).

It works, though...

Jim

Scooter
12-18-2002, 9:27 PM
I use an AC sponge on the intake of my Eheim. I can get several sponges and years of use out of a single 500 sponge.

JSchmidt
12-19-2002, 8:26 AM
I think AC sponges are OK, but I can't imagine having big white sponges over all the intakes in all my tanks. Ugh!

Also, I prefer something with a bit finer texture. The AC sponges are rather coarse -- that's also one of my quarrels with the Filter Max III sponges, but they have other things in their favor that make it easier to overlook the cell size.

Tetra PHAS are perfect, IMO.

Jim

Scooter
12-19-2002, 9:48 AM
Jim, I cut the sponges to exactly fit the intake so they're not really that obtrusive. I guess if you've got a sparsely decorated tank with little or no rock and wood, it wouldn't be the most aesthetic thing in the world, but mine's hidden in the back corner and you can't see it.

I do agree that the prefilter modules that are made for Eheims are more pleasing to the eye, but in my case it's not a problem. Also, a $5.00 AC sponge that will last for well over a year is an economical solution. I also agree that they are course, but, for me, that sacrifice isn't a problem.

At least we've all listed several answers to Sumpin'fishy's question, which is the main thing. :)

Sumpin'fishy
12-19-2002, 12:25 PM
I agree with that, I appreciate all the ideas guys, I'll put them to use.

Sumpin'fishy
12-19-2002, 4:15 PM
BTW, I just got through drilling several small holes around the bottom of the inlet pipe, and covering with the same foam block that I had on it before. It extends about 3" up the pipe and is about 1/2" wider than the pipe on either side. I went ahead and cleaned My HOT out and refilled only half way before I hooked it up and turned it back on. I watched it fill itself fully with water just to make sure the intake can match the flow of water out of the filter. It seems to be running fine, and I already saw detritus sticking to the side of the sponge rather than just the bottom portion. (I stirred up the tank gravel a bit) Thanks for the input people! We'll try this out a while, and tell ya how it goes.

spankey
12-19-2002, 5:53 PM
I used to use a prefilter on my canister but came to find that it slowed the flow down quite a bit after about 2 days. It got old having to clean it out every other day? Maybee I was doing something wrong though?

Just my 2 cents... Although the prefilter cut down on the changing of the canister filter. Its a toss up though...

Spankey:rolleyes:

Sumpin'fishy
12-19-2002, 7:01 PM
That's why I started the thread, Spankey. Have you read all the posts? These guys had some neat ideas. Like what I ended up doing.

Jun 8, 2009

How to Read Mathematics

http://web.stonehill.edu/compsci/History_Math/math-read.htm

Mathematics says a lot with a little.  The reader must participate.  At every stage, he/she must decide whether or not the idea being presented is clear.  Ask yourself these questions:

·            Why is this idea true? 

·            Do I really believe it? 

·            Could I convince someone else that it is true? 

·            Why didn't the author use a different argument? 

·            Do I have a better argument or method of explaining the idea? 

·            Why didn't the author explain it the way that I understand it? 

·            Is my way wrong? 

·            Do I really get the idea? 

·            Am I missing some subtlety? 

·            Did this author miss a subtlety? 

·            If I can't understand the point, perhaps I can understand a similar but simpler idea?

·            Which simpler idea? 

·            Is it really necessary to understand this idea? 

·            Can I accept this point without understanding the details of why it is true? 

·            Will my understanding of the whole story suffer from not understanding why the point is true?

Putting too little effort into this participation is like reading a novel without concentrating.  After half an hour, you wake up to realize the pages have turned, but you have been daydreaming and don’t remember a thing you read.

Ocean channel: Coral Reefs video

http://www.ocean.com/mplayer/index.asp?resourceid=121&page=0&channelid=49/

Shoot-Through, Invisible, Self-Healing Shields: Darpa Goal | Danger Room

http://www.wired.com/dangerroom/2007/06/shootthrough_in/

May 26, 2009

Skimmer Design 101

http://www.hawkfish.org/snailman/skimmer101.htm

Skimmer Design 101

Version 1.0, revised 09/26/2001

Shane Graber (aka "liquid")
http://liquidreef.freeservers.com/

Preface:

Over the last two years I have been looking through the various DIY skimmer designs published on the web like the ones that a person might find on various sites like http://www.ozreef.org/, etc. In seeing my first skimmer at the LFS, I thought "making one of those can't be *that* hard, can it?" Ever since then, I have been interested in learning about skimmers and their proper design. There are many good designs published on the web but the things that I *always* found lacking was:

  1. Which skimmer design yields the most functionality and efficiency (co-current, counter-current, venturi, downdraft, beckett, etc)
  2. Why the designer designed the skimmer the way they did
  3. What size tank would the skimmer effectively skim and why
  4. Would the design skim my tank effectively

I was confused by all of these questions until I purchased Aquatic Systems Engineering: Devices and How They Function by P.R. Escobal. This book effectively explained answers to many of my questions and it also delved deep into proper skimmer design and function in addition to many other subjects such as plumbing, flow, etc, for the aquarium. Anyone interested in DIY'ing anything should get their hands on this book as I have found it to be an indispensible book for the serious DIY'er.

 

Introduction:

First off, I would like to introduce a schematic of a counter current skimmer. In this case, I will illustrate skimmer function using an airstone driven counter-current skimmer design:

Water is pumped into the skimmer at the top of the reaction chamber via a pump that is sized and the flow rate is adjusted for the particular application. At the bottom of the reaction chamber, an airstone hooked to an external air pump produces millions of tiny bubbles. These bubbles begin to rise up through the water in the reaction chamber of the skimmer where they contact the water flowing down through the skimmer. During this contact time, the proteins and other dissolved organics that can be skimmed out of the water column are be attracted to the air bubbles due to the molecules' specific hydrophilic ("water loving") / hydrophobic ("water hating") nature. The attached molecules are then carried to the neck of the protein skimmer attached to the air bubbles. The "cleaned" water then exits the bottom of the skimmer which runs either back to the tank or to the sump. As more and more skimmed organics accumulate at the top of the reaction chamber, they are eventually pushed out of the skimmer through the neck and into the collection cup. From here the "skimmate" is drained off into a collection container for later disposal.

Next, I would like to introduce what the proteins and other organic molecules are doing when they come into contact with an air bubble:

The circle in the above diagram is an individual air bubble released by the airstones inside the protein skimmer. The smaller the air bubble the better as the smaller the air bubble per unit volume of air injected, the more water/air surface area is produced. Think of this as two identical containers: on containing a given mass of pea gravel. An identical container holds an identical weight of playsand. Which container has more surface area of the particles inside it: the pea gravel or play sand? The correct answer is the play sand. As the bubble travels up through the water column, the elecrically charged protein molecules (which contain elecrically polar and electrically nonpolar regions) are attracted to the air/water interface of the bubble. The polar regions of the molecule (made up of nitrogens, oxygens, etc) are attracted to the air/water interface and these polar "tails" stick out away from the air bubble into the water column. The nonpolar regions stick out into the air bubble because it does not "like" to be in contact with the polar solvent (i.e. water). If you could look at this bubble under high enough magnification down to the molecular level, the entire air bubble would look like a fuzzy ball with protein tails and other electrically charged tails sticking out from the surface of the air bubble. The polar regions outside of the air bubble stabilize the air bubble very much like a soap bubble in your kitchen sink or your washing machine. This is why a foam begins to build up at the surface of the skimmer. As the protein laden bubble reaches the top of the protein skimmer, the proteins begin to accumulate which creates a stable foam bubble. These stable foam bubbles take a long time to pop. Thus, the proteins slowly are concentrated at the top of the skimmer where they are slowly pushed through the "throat" of the protein skimmer and into the collection cup.

 

Different Skimmer Designs:

With all the different skimmer options out there, it's sometimes hard for the person new to the hobby to understand all of the "lingo" when it comes to skimmers. Basically, there's two main areas that are of focus when people talk about their skimmers: water flow and air injection method.

With water flow, there's two general methods:

  1. co-current
  2. counter-current

These two terms simply explain which way the water is flowing with respect to the flow of the bubbles in the skimmer. A co-current skimmer has the water flowing in the same direction as the bubbles and a counter current skimmer has the water flowing against the upward flow of the bubbles.

For air introduction, there's many methods. Four of the primary methods are:

  1. air pump / airstone
  2. venturi
  3. downdraft
  4. beckett

The air pump / airstone method is pretty straight forward: an airstone attached to a good air pump is situated at the bottom of the reaction chamber and water flows from bottom-to-top or top-to-bottom (co-current vs. counter-current) as pictured above. A venturi skimmer uses a venturi device to suck air into a water line as water travels thru a venturi device. A couple good pictures and websites on venturi skimmers can be found at http://w3page.com/fishline/gif/ventskim.gif, http://mars.reefkeepers.net/Articles/SuperSkimmer.html. A downdraft skimmer utilizes a pressure rated pump to push a high volume of water into a tall tube filled with bioballs. This tube has a valve attached that allows air into the mixing chamber where the water impacts with the bioballs in the tube. Geo has a couple nice shots of his DIY downdraft skimmer: http://www.homestead.com/geosreef/downdraftskimmer.html and Peter Z has a very nice cross sectional schematic of a downdraft skimmer: http://w3page.com/fishline/gif/ddskimpz.jpg. A beckett skimmer works similar to a downdraft skimmer except it uses a beckett pond injector and a pressure rated pump to make a great deal of foam. A couple good URL's to look at for how specifically a beckett is setup is: http://www.eparc.com/diy/skimmers/ian/hsa.shtml, http://nucalf.physics.fsu.edu/pfohl/Fish/Diy/hsa.gif.

By far the most efficient way to run a skimmer is in the counter current flow condition as it causes the bubbles to have a longer contact time with the water compared to the co-current flow condition. It was estimated by Escobal that some proteins take upwards of 2 minutes contact time with air to attach properly. Now when it comes to air introduction method, methods #2, #3, and #4 all use the pump powering the skimmer to introduce air into the skimmer at the same time the pump pumps water into the reaction chamber. While this works just fine, it does limit the user to not being able to independently control water flow rate through the skimmer and the air volume injected into the skimmer reaction chamber. With options #2-#4, if a person were to decrease the water flow through the skimmer the person would also decrease the amount of air injected into the reaction chamber. Option #1, however, is uniquely different from the other 3 methods as it *does* allow independent control over water flow through the skimmer and air flow rate into the skimmer. Because of this, counter current air driven skimmers are among some of the most efficient skimmers out there when designed properly. They are also some of the most energy efficient skimmers available. Many of the larger venturi, downdraft, and beckett skimmers require large energy hogging pumps to produce enough flow to suck air into the skimmer reaction chamber.

 

Design Parameters:

For the remainder of this tutorial, I will be referring to a counter current air driven skimmer. For all practical purposes, the following items are critical in skimmer design:

  1. The water flow rate through the skimmer
  2. The height of the skimmer
  3. The amount of air pumped into the reaction chamber of the skimmer
  4. The diameter of the skimmer

Let's attack each of the above points one at a time.

 

1. Water Flow Rate Through the Skimmer:

For optimum skimming using a counter current design (or actually any other design for that matter), the water in your tank should not flow through the skimmer any more than two times per day. For venturi's, downdraft's, and beckett's, this requirement is almost a virtual impossibility as the pumps need to pump the huge amounts of water to yield a sufficient quantity of air to skim. This may seem strange and even shocking to many people as they are used to the "Tim Taylor" - type skimmers (more power! Oh Oh OH OH oh!) that push huge volumes of water through a skimmer every hour. Many people believe that to skim more effectively and efficiently, you have to increase the water flow through their skimmer as the air bubbles will contact the air bubbles more times per hour. This is NOT the case. The water running through the skimmer is not the limiting factor when it comes to nutrient export. It's the amount of AIR that contacts each "drop" of water that is the limiting factor to how much a skimmer pulls out of the water column. Some organics require up to 2 full minutes of contact time with air bubbles in a skimmer before they are removed via foam fractioning. Thus the need for a slow wate flow through the skimmer is crutial for proper design and function.

According to Escobal, the following chart should be used to determine the flow rate for water through the skimmer (assuming a 2x per day turnover rate):

Find the net gallons of water contained in your system on the above chart on the X-Axis and follow that value vertically up the chart until you contact the green line. At that point, follow the line over to the left to the Y-axis. This is the flowrate that should flow through your skimmer for optimum skimming. This particular flow rate will run all of your tank water through the skimmer two times each day.

For example, let's say you have 100 gallons of water in your reeftank and you want to find out how many gallons per hour you should flow water through your counter current skimmer for optimum skimming. Find 100 gallons on the X-axis, follow the line on the chart vertically until you hit the green line. Now follow that over to the Y-axis to find out how much water should be run through your skimmer every hour. In this case it is 75 gph. Thus, for your counter current skimmer the tank water should not flow through the skimmer any faster or any slower than 75 gph. Pretty straight forward.

Using the above example for a moment, this should then raise another question: I'm flowing 75 gph through my skimmer. According to that, I should be running all of my tank water through the skimmer every 1.333 hours (100 gal/75 gal/hr) and not every 12 hours. Contrary to popular thought, this is not the case. Every time you run water through the skimmer, it dumps the water back into the tank of "unskimmed" water thereby diluting it. As water is continually pulled through the skimmer, it will then pull in "skimmed" and "unskimmed" water. As more "skimmed" water is pumped back into the tank, more and more already "skimmed" water will flow back through the skimmer. According to Escobal, the following equation is used to calculate when 99.99% of the water has flowed through the skimmer:

T = 9.2 (G/F)

Where T=time, G=total gallons of tank water, and F=flow rate (gph). The 9.2 is a purity coefficient that when used in this equation yields a 99.99% purity. For further explanation of this, please refer to Escobal's book.

 

2. Height of the Skimmer

This one's pretty straight forward. Make the skimmer reaction chamber as tall as you can to maximize the total contact time that the water has with the air in the skimmer. Escobal recommends at least 4 feet to 5 feet tall for the reaction chamber to optimize contact time but a person could go higher or lower than these recommended lengths if they so desire to fit their application. Fossa and Nilsen in The Modern Coral Reef Aquarium volume #1, page 259 recommend that the skimmer reaction chamber should not be any shorter than 28 inches to 32 inches "except for very small aquaria" so use your best judgement when designing and making your skimmer.

 

3. Amount of Air Pumped into Reaction Chamber

According to Escobal, the upper limit of the amount of air able to be inside the skimmer at any one time is 13% of the water volume inside the skimmer. Escobal does take the reader through the calculations on why this is the uppere limit, but I don't plan to as this calculation is quite drawn out. However, if you stop to think about it there can only be so much air injected into the skimmer before you overpower the water itself and the skimmer runs dry. This value just happens to be 13%. According to Escobal: "...the volume of air in a skimmer can never be greater than about 13% of the volume of the skimmer or the bubbles will merge. Experimental measurements are in agreement..." (Escobal, p. 96). So if you hear any manufacturers out there claiming that their product will inject more than 13% air into the skimmer body, then I would highly suspect that they're not going to be able to acheive the proper bubble size inside their skimmer.

There are two keys to injecting air into the skimmer for optimum nutrient export:

  1. Keep the air bubbles as small as possible
  2. Minimize turbulence of the air bubbles in the skimmer reaction chamber

The first requirement is pretty straight forward. A small bubble size is desired as the smaller the bubble is the more surface area it has to the total volume of air. Let me give an example. Let's say we have a basketball. This basketball holds quite a bit of air inside of it. Now let's take the amount of air inside the basketball and put it inside a bunch of tennis balls. It takes a LOT of tennis balls to hold the volume of that one basketball. Now if we look at these two items, which one has more surface area? The tennis balls have more combined surface area than the one basketball. We can extrapolate this down to very fine bubbles. The smaller the bubble, the more surface area it has relative to the total volume of air. The more surface area the bubble has, the more dissolved organics are going to be picked up out of the water column inside the skimmer.

So now we know that we need to have a very fine bubble size. How do we acheive that inside of the counter current skimmer? The key is to use a very fine pore size airstone. The best airstones are made out of limewood but basswood and oak are also used as well. Oak airstones take a much more hefty pump than is typically used, but if used it does produce a very small bubble. For all practical purposes however, limewood and basswood are the primary airstones used for counter current skimmers. It should also be noted that only a certain amount of air can be pumped through a single airstone before it overpowers the airstone. Once the air into the airstone overpowers the airstone, larger bubbles will be produced. The key here is to use more than one airstone if necessary to acheive the correct bubble size. For small diameter counter current skimmers maybe one airstone is all that's necessary. For the much larger skimmers upwards of 4 to 6 or even 10 airstones may be required. It all depends upon the application. A person can also buy longer airstones if they so choose. The key is that you want a lot of surface area for the bubbles to form on so you can either go with may small airstones or one long airstone or a combination. You can either buy your airstones or you can make them. Buying them can get somewhat costly if you have a large skimmer as they can cost upwards of $1 to $3 per airstone depending upon the size required. Another option is to make your own airstones. This is much more economical in the long run. There are many good websites out there that explain how to make your own airstones.

The second requirement, that of minimizing turbulence of the air bubbles inside the skimmer, is also crutial. The reason for this is because of the different types of dissolved organics in the water column. Different organics are attracted to the surface of the air bubbles to a different degree depending upon the molecular composition of the dissolved compound. Some compounds are highly attracted to the air bubble. Others are only weakly attracted. If the air/water is turbulent inside the skimmer, the strongly attracted compounds will stay attached to the air bubble but the weakly attracted compounds will not and they will not be skimmed out of the water column. By minimizing the turbulence inside the skimmer, both the strongly and weakly attracted compounds stay attached to the air bubble and are skimmed out of the water column. What you want to see is a nice blooming flow of air bubbles upward in the water column. If you see excessive turbulence inside of the skimmer then the skimmer is not tuned properly.

 

4. Diameter of the Skimmer

This selection is also pretty straight forward. The larger the amount of water to skim, the wider the diameter of the skimmer needs to be in order to skim effectively. This requirement also ties into the previous section with the amount of air pumped into the reaction chamber of the skimmer and minimizing turbulence of that air flowing upward. Based on these requirements, Escobal published a chart detailing the specific diameters required for tanks of known volume. Below is the chart:

It's pretty straight forward: find the number of gallons for your tank on the X-axis and follow that up vertically until you intersect the "12 Hour Limit Line" line at the top of the graph. Now look for the diagonal diameter lines and see which one comes closest to the line you followed up the graph. This is the diameter for the skimmer that you are designing. If the point at which you intersect the "12 Hour Limit Line" is between two of the diagonal lines you can either choose the diameter larger or smaller. Going larger will allow you more skimming ability. Going smaller should not seriously hamper your skimming ability. Or you can go with more than one skimmer. However, if you do go with more than one skimmer, their total cross-sectional area needs to match pretty closely the cross-sectional area of the single skimmer diameter that is required for the project.

 


 

Now that the above has been explained, let's use a practical example:

Let's say you have a tank with 125 gallons of water in it and you want to design a skimmer for it. >From Section #1 above, you know that for a 125 gallon water volume you need to flow water through the skimmer at approximately 100 gph. From Section #2 above, you know that you need to make the skimmer reaction chamber as tall as possible. If the skimmer is to be sitting beside the tank you can make the skimmer reaction chamber as tall up to 4 feet or 5 feet tall if possible or even taller if you so choose. If it is to be an in-sump design you could go with a shorter skimmer as long as the reaction chamber is no less than 28 inches. Now that the height of the reaction chamber has been decided upon, you need to decide on the length of the airstones and the number of airstones to be used for the application. Personally for the 4" diameter skimmer design I like to use 4 airstones with a length of each airstone between 4" to 6". I would try to fit as many airstones as you can inside the cross-sectional area of the skimmer as possible to maximize airstone surface area which should make the finest bubbles. From Section #4, inspecting the chart for a 125 gallon water volume and a turnover time of 12 hours you should pick a skimmer with a diameter of 5". Since 5" diameter PVC is somewhat hard to find, another option you could go with would be to use two 4" diameter skimmers or three 3" diameter skimmers. These multiple skimmers would be connected in series so that water would flow through one and directly into the next one.

 

That's pretty much it. Use your new-found information to design a properly functioning counter current skimmer! :)


May 17, 2009

Rachmaninov-volodos Italian Polka

Impressive.....I love this Italian Polka by Rachmaninov played by Volodos.

http://www.video4viet.com/watchvideo.html?id=6lzxQP1cf08&title=Rachmaninov-volodos%20Italian%20Polka

May 12, 2009

Firefox to get massive JavaScript performance boost - Ars Technica

http://arstechnica.com/open-source/news/2008/08/firefox-to-get-massive-javascript-performance-boost.ars

Firefox to get massive JavaScript performance boost

Mozilla has adopted an innovative new optimization technique for the Firefox JavaScript interpreter. Benchmarks show that JavaScript execution is now up to 40 times faster in some benchmarks. Mozilla aims to deliver performance comparable to that of native code.

Mozilla is leveraging an impressive new optimization technique to bring a big performance boost to the Firefox JavaScript engine. The code was merged today (but is not yet ready to be enabled by default in the nightly builds) and is planned for inclusion in Firefox 3.1, the next incremental update of the open-source web browser.

I discussed this new optimization strategy with Mozilla's VP of engineering Mike Shaver and Mozilla CTO Brendan Eich, the creator of JavaScript. They are concerned that sophisticated web applications are being held back by the limitations of JavaScript interpreter performance. They aim to improve execution speed so that it is comparable to that of native code. This will redefine the boundaries of client-side performance and enable the development of a whole new generation of more computationally-intensive web applications.

They are "getting ready to take JavaScript performance into the next tier" with a radically innovative optimization tactic called tracing that has already produced performance improvements ranging between 20 and 40 times faster in some cases. They believe that this is just the beginning of what can be accomplished with tracing, and they expect to be able to achieve even better speed as the work continues.

The theories behind tracing optimization were pioneered by Dr. Michael Franz and Dr. Andreas Gal, research scientists at the University of California, Irvine. The tracing mechanism records the path of execution at runtime and generates compiled code that can be used next time that a particular path is reached. This makes it possible to flatten out loops and nested method calls into a linear stream of instructions that is more conducive to conventional optimization techniques. Tracing optimization is particularly effective in dynamic languages and also has a very light memory footprint relative to alternative approaches.

Mozilla already incorporated tracing optimization into Tamarin, a next-generation JavaScript runtime engine that leverages Adobe's ActionScript virtual machine. Tamarin, however, still lacks maturity and doesn't yet deliver significant performance gains—partly because Tamarin's ActionScript heritage means that it is optimized for efficient execution of code with type annotations. Tamarin is a long-term project and won't be ready until Firefox 4.


SpiderMonkey art by Shane Lewis

To get a real-world performance increase right now, Mozilla has adapted the tracing technology and Adobe's nanojit so that they can be integrated directly into SpiderMonkey, the JavaScript interpreter that is used in Firefox 3. This has produced a massive speedup that far surpasses what is currently possible with Tamarin-tracing. In addition to empowering web developers, the optimizations will also improve the general performance of the browser itself and many extensions because many components of the program are coded with JavaScript.

Bringing more power to client-side scripting will move the web forward and create new opportunities for web developers. Eich says that Mozilla wants to "get people thinking about JavaScript as a more general-purpose language" and show them that "it really is a platform for writing full applications."

Apple has also been implementing some extremely impressive JavaScript performance improvements with its compelling SquirrelFish virtual machine engine, which will be included in Safari 4. Like Mozilla, Apple says that the current performance gains delivered by the latest optimization techniques only scratch the surface of what is possible.

JavaScript isn't just a clumsy solution for client-side form validation anymore. While the implementors are aggressively addressing JavaScript's performance limitations, the ECMAScript standards community is making progress on addressing some of the language's historical syntactic weaknesses. The addition of some rather nice Pythonic sugar in JavaScript 1.7 and 1.8 is a great start, and the recent emergence of consensus in the standards community on the future of ECMAScript lifts some of the roadblocks that had prevented those efforts from going further.

With so much forward momentum and rapid evolution, JavaScript appears capable of meeting the demand for a more robust web programming platform. As more applications shift into the cloud, these capabilities will be essential for building the future of the web.

Further reading


[Slide Show] Divine Idea: Plugging Dams and Tracking Underground Water, Using an Earth MRI: Scientific American

http://www.scientificamerican.com/article.cfm?id=underground-water-mapping&sc=WR_20090512

[Slide Show] Divine Idea: Plugging Dams and Tracking Underground Water, Using an Earth MRI

New technology maps water underground by following the flow of electrical current

By Larry Greenemeier   

  AquaTrack in action

Sri Lanka's Samanalawewa dam on the country's Walawe River has been leaking since the day it was completed in 1992. In the interim, the country has spent more than $65 million to plug the leaks in its second-largest dam, built to power the 120-million-watt Samanalawewa Hydroelectric Project. A 2005 study found that the reservoir—located near the town of Balangoda about 100 miles (160 kilometers) southeast of the capital Colombo—was leaking continuously at a rate of 475 gallons (1,800 liters) per second. And shotgun-type methods to solve the Samanalawewa dam problem—including the use of 13,640 tons of cement to reinforce the dam and the dumping of 1.8 million cubic feet (50,000 cubic meters) of clay to plug the holes—have failed.

The problem is that geologists and engineers do not know where all of the leaks are. So they turned to U.K. engineering consultant firm Atkins Global. Atkins performed a preliminary inspection of the dam and surrounding area for three weeks in February using AquaTrack technology developed by Draper, Utah–based Willowstick Technologies. The roughly $3-million project calls for Atkins Global to do additional survey work using AquaTrack this summer to pinpoint the sources of the leakage and spend the subsequent wet season planning precisely where to inject grout to plug those holes, work that Andy Hughes, the company's director of dams and reservoirs, anticipates will begin early next year.

Here's how AquaTrack works: Two electrodes—each three feet (one meter) long—are lowered down, one into the reservoir and the other someplace on the opposite side of the dam (typically in a sinkhole or other standing water downstream of the dam). The top of each electrode is connected with a wire. Once they switch on the electricity, "We've basically created a large circuit," says Paul Rollins, Willowstick's vice president of business development. Because groundwater is a conductor, the electrical current follows it between the electrodes, creating a magnetic field that can be detected on the surface using a sensitive magnetic receiver.

View images of how AquaTrack works

Once the magnetic field is generated, Willowstick's scientists walk the ground between the probes in a gridlike pattern with an instrument that collects data about the frequencies it detects underground. (The researchers are most interested specifically in the 380 hertz signals that AquaTrack's electrodes emit). The instrument is contained in a box that is three feet (one meter) tall and six inches (15 centimeters) square and held upright by a tripod and can collect thousands of readings in just five minutes, according to Rollins. (The technology has already been used successfully at a number of dams, including River Reservoir Dam No. 3 on the Little Colorado River in Arizona and Wolf Creek Dam on the Cumberland River in southern Kentucky.)


May 11, 2009

YouTube - How to Make a (s)Hovercraft

http://www.youtube.com/watch?v=Y4fDQtWAMiM&feature=channel

YouTube - Neurorobotics: Brain Machine Interfaces

http://www.youtube.com/watch?v=AYTf6qAwe98&feature=related

Network-Based Computing Lab - Technical Reports

http://nowlab.cse.ohio-state.edu//publications/publications-tr.html

OSU -- Logo (gif)

Network-Based Computing Laboratory
Department of Computer and Information Science
The Ohio State University


Technical Reports


Year wise listing:

2008

2007

2006

2005

2004

2003

2002

2001

2000

1999

1998

1997

1996

1995

1994

For further information and inquiry, please send e-mail to D. K. Panda.


Go back to Network-Based Computing (NBC) Research Group Home Page.

Last Updated: March 16, 2005

HackerspaceWiki

http://hackerspaces.org/wiki/Hackerspaces

Hackerspaces

From HackerspaceWiki

Jump to: navigation, search

Hackerspaces are community-operated physical places, where people can meet and work on their projects.

This website is for everyone who started or wants to start their own hackerspace.

[edit] Resources


Cryptography - GHN

http://www.ieeeghn.org/wiki/index.php/Cryptography

Cryptography


Bookmark and Share Email

From GHN

Jump to: navigation, search

Contents

[hide]

Cryptography Background

The word cryptography comes from the Greek words kryptos meaning hidden and graphein meaning writing. Cryptography is the study of hidden writing, or the science of encrypting and decrypting text and messages.

Origins

It is believed that the oldest known text to contain one of the essential components of cryptography, a modification of the text, occurred some 4000 years ago in the Egyptian town of Menet Khufu where the hieroglyphic inscriptions on the tomb of the nobleman KHNUMHOTEP II were written with a number of unusual symbols to confuse or obscure the meaning of the inscriptions.

In 5BC the Spartans, a warrior society famed for their austere lifestyle, bravery, and skill in battle, developed a cryptographic device to send and receive secret messages. This device, a cylinder called a Scytale, was in the possession of both the sender and the recipient of the message. To prepare the message, a narrow strip of parchment or leather, much like a modern-day paper streamer, was wound around the Scytale and the message was written across it. Once unwound, for transport to the receiver, the tape displayed only a sequence of meaningless letters until it was re-wound onto a Scytale of exactly the same diameter. The code, produced by unwinding the tape, was a TRANSPOSITION cipher, that is, one where the letters remain the same but the order is changed. This is still the basis for many popular modern-day techniques.

The other major ingredient of these modern techniques is the ADDITIVE/SUBSTITUTION cipher. Although the Greek writer Polyibus described a substitution technique, its first recorded use was by Julius Caesar. Messages were encoded by substituting the letter in the text by one that is three positions to the right. A became D, V became Y etc. The reason why a substitution of three letters, and not four, two or six, was chosen has never been explained.

In an essay written in 1466, an Italian Leon Battista Alberti who is often called the ‘father of western cryptography’, described the construction of a cypher disk, founding the concept of POLY ALPHABETIC ciphers. Although he had made the most important advance in cryptography in at least five hundred years, he did not develop his concept. It was left for others, the best known being the French cryptographer Blaise de Vigenere to devise a practical poly alphabetic system which bears his name, the VIGENERE SQUARE. At the time, and for a considerable time afterwards this technique was believed to be unbreakable (Le Chiffre Indechiffrable). There was however a weakness in this cipher waiting to be exploited because the cyphertext produced by this method was vulnerable to the yet undiscovered statistical attack.


Classical cryptography

The earliest known use of cryptography is found in non-standard hieroglyphs carved into monuments from Egypt's Old Kingdom (ca 4500+ years ago). These are not thought to be serious attempts at secret communications, however, but rather to have been attempts at mystery, intrigue, or even amusement for literate onlookers. These are examples of still other uses of cryptography, or of something that looks (impressively if misleadingly) like it. Some clay tablets from Mesopotamia, somewhat later are clearly meant to protect information — they encrypt recipes, presumably commercially valuable. Later still, Hebrew scholars made use of simple monoalphabetic substitution ciphers (such as the Atbash cipher) beginning perhaps around 500 to 600 BC.

Cryptography has a long tradition in religious writing likely to offend the dominant culture or political authorities. Perhaps the most famous is the 'Number of the Beast' from the Book of Revelation in the Christian New Testament. '666' might be a cryptographic (i.e., encrypted) way of concealing a dangerous reference; many scholars believe it's a concealed reference to the Roman Empire, or more likely to the Emperor Nero himself, (and so to Roman persecution policies) that would have been understood by the initiated (who 'had the key to understanding'), and yet be safe or at least deniable (and so 'less' dangerous) if it came to the attention of the authorities. At least for orthodox Christian writing, most of the need for such concealment ended with Constantine's conversion and the adoption of Christianity as the official religion of the Empire.

A Scytale, an early device for encryption. The Greeks of Classical times are said to have known of ciphers (e.g., the scytale transposition cipher claimed to have been used by the Spartan military). Herodotus tells us of secret messages physically concealed beneath wax on wooden tablets or as a tattoo on a slave's head concealed by regrown hair, though these are not properly examples of cryptography per se as the message, once known, is directly readable; this is known as steganography. Another Greek method was developed by Polybius (now called the "Polybius Square").[1] The Romans certainly did know something of cryptography (e.g., the Caesar cipher and its variations). There is ancient mention of a book about Roman military cryptography (especially Julius Caesar's); it has been, unfortunately, lost.

In India, cryptography was also well known. It is recommended in the Kama Sutra as a technique by which lovers can communicate without being discovered.



Medieval cryptography

The first page of al-Kindi's manuscript On Deciphering Cryptographic Messages, containing the first descriptions of cryptanalysis and frequency analysis. See also: Voynich Manuscript
It was probably religiously motivated textual analysis of the Qur'an which led to the invention of the frequency analysis technique for breaking monoalphabetic substitution ciphers by al-Kindi sometime around AD 800 (Ibrahim Al-Kadi -1992). It was the most fundamental cryptanalytic advance until WWII.

Essentially all ciphers remained vulnerable to this cryptanalytic technique until the development of the polyalphabetic cipher by Leone Battista Alberti (ca 1465), and many remained so thereafter. Alberti is often called the "Father of Western Cryptology". Johannes Trithemius, in his work Poligraphia, invented the tabula recta, a critical component of the Vigenère cipher. The French cryptographer Blaise de Vigenere devised a practical poly alphabetic system which bears his name, the Vigenère cipher.[2]

Although Leone Battista Alberti is usually considered the father of polyalphabetic cipher, Prof. Al-Kadi's 1990 paper (ref- 3), reviewing Arabic contributions to cryptography reported knowledge of polyalphabetic ciphers 500 years before Alberti, based on a recently discovered manuscript by al-Kindi.[citation needed]

The Arab mathematician, Al-Kindi, wrote a book on cryptography entitled Risalah fi Istikhraj al-Mu'amma (Manuscript for the Deciphering Cryptographic Messages), circa AD 800. He described the first cryptanalysis techniques, including some for polyalphabetic ciphers, cipher classification, Arabic Phonetics and Syntax, and, most importantly, described the use of several techniques for cryptanalysis, and gave the first descriptions on frequency analysis.[3] He also covered methods of encipherments, cryptanalysis of certain encipherments, and statistical analysis of letters and letter combinations in Arabic.[4]

Ahmad al-Qalqashandi (1355-1418) wrote the Subh al-a 'sha, a 14-volume encyclopaedia which included a section on cryptology. This information was attributed to Taj ad-Din Ali ibn ad-Duraihim ben Muhammad ath-Tha 'alibi al-Mausili who lived from 1312 to 1361, but whose writings on cryptography have been lost. The list of ciphers in this work included both substitution and transposition, and for the first time, a cipher with multiple substitutions for each plaintext letter. Also traced to Ibn al-Duraihim is an exposition on and worked example of cryptanalysis, including the use of tables of letter frequencies and sets of letters which can not occur together in one word.

In Europe, cryptography became (secretly) more important as a consequence of political competition and religious revolution. For instance, in Europe during and after the Renaissance, citizens of the various Italian states — the Papal States and the Roman Catholic Church included — were responsible for rapid proliferation of cryptographic techniques, few of which reflect understanding (or even knowledge) of Alberti's polyalphabetic advance. 'Advanced ciphers', even after Alberti, weren't as advanced as their inventors / developers / users claimed (and probably even themselves believed). They were regularly broken. This over-optimism may be inherent in cryptography for it was then, and remains today, fundamentally difficult to accurately know how vulnerable your system actually is. In the absence of knowledge, guesses and hopes, as may be expected, are common.

Cryptography, cryptanalysis, and secret agent/courier betrayal featured in the Babington plot during the reign of Queen Elizabeth I which led to the execution of Mary, Queen of Scots. An encrypted message from the time of the Man in the Iron Mask (decrypted just prior to 1900 by Étienne Bazeries) has shed some, regrettably non-definitive, light on the identity of that real, if legendary and unfortunate, prisoner. Cryptography, and its misuse, were involved in the plotting which led to the execution of Mata Hari and in the conniving which led to the travesty of Dreyfus' conviction and imprisonment, both in the early 20th century. Fortunately, cryptographers were also involved in exposing the machinations which had led to Dreyfus' problems; Mata Hari, in contrast, was shot.

Outside of Europe, after the end of the Muslim Golden Age at the hand of the Mongols, cryptography remained comparatively undeveloped. Cryptography in Japan seems not to have been used until about 1510, and advanced techniques were not known until after the opening of the country to the West beginning in the 1860s. During the 1920s, it was Polish naval officers who assisted the Japanese military with code and cipher development.



Cryptography from 1800 to World War II

It wasn't until the 19th century that cryptographers developed anything more than ad-hoc approaches to either encryption or cryptoanalysis. Examples include Charles Babbage's Crimean War era work on the mathematical cryptanalysis of polyalphabetic ciphers, redeveloped and published somewhat later by the Prussian Friedrich Kasiski. The understanding of cryptography at this time typically consisted of hard-won rules of thumb; eg, Auguste Kerckhoffs' cryptographic writings in the latter 19th century. Edgar Allan Poe used systematic methods to solve ciphers in the 1840s. In particular he placed a notice of his abilities in the Philadelphia paper Alexander's Weekly Express Messenger, inviting submissions of ciphers, of which he proceeded to solve almost all. His successes created a public stir lasting several months. He later wrote an essay on methods of cryptography which proved useful as an introduction for the novice Room 40 British cryptanalysts attempting to break German codes and ciphers during World War I, and in a famous story, "The Gold Bug", in which cryptoanalysis featured prominently.

Around 1854, Charles Babbage, developed the method of statistical analysis by which he successfully decrypted messages encrypted by the Vigenere square. Unfortunately, due to his habit of not completing ‘the paperwork’, or possibly to protect the fact that because of his work Britain could decrypt Vigenere messages sent in the Crimea, this fact was not discovered until the twentieth century. The honour of developing the statistical attack technique and cracking Vigenere was to go to the Prussian Kasiski in 1863, this technique having since been termed the "Kasiski Test".

In 1917, Gilbert Vernam proposed a teletype cipher where a previously-prepared key, kept on a paper tape, is combined character by character with the plaintext message to produce the output ciphertext. This led to the development of the one time pad and to the use of electromechanical devices known as cipher machines.

Mathematical crypto methods proliferated in the period prior to World War II, notably in William F. Friedman's application of statistical techniques to cryptanalysis and cipher development and in Marian Rejewski's initial break into the German Army's version of the Enigma system in 1932.

Both cryptography and cryptoanalysis have become far more mathematical since WWII. Even so, it has taken the wide availability of computers and the Internet as a communications medium, to bring effective cryptography into common use by anyone other than national governments or similarly large enterprises.


World War II cryptography

The Enigma machine was widely used by Nazi Germany; its cryptanalysis by the Allies provided vital Ultra intelligence. By World War II, mechanical and electromechanical cipher machines were in wide use, although — where such machines were impractical — manual systems continued in use. Great advances were made in both cipher design and cryptanalysis, all in secrecy. Information about this period has begun to be declassified as the official British 50-year secrecy period has come to an end, as U.S. archives have slowly opened, and as assorted memoirs and articles have appeared.

The Germans made heavy use, in several variants, of an electromechanical rotor machine known as Enigma. Mathematician Marian Rejewski, at Poland's Cipher Bureau, in December 1932 deduced the detailed structure of the German Army Enigma, using mathematics and limited documentation supplied by Captain Gustave Bertrand of French military intelligence. This was the greatest breakthrough in cryptanalysis in a thousand years and more, according to historian David Kahn. Rejewski and his mathematical Cipher Bureau colleagues, Jerzy Różycki and Henryk Zygalski, continued reading Enigma and keeping pace with the evolution of the German Army machine's components and encipherment procedures. As the Poles' resources became strained by the changes being introduced by the Germans, and as war loomed, the Cipher Bureau, on the Polish General Staff's instructions, on July 25, 1939, at Warsaw, initiated French and British intelligence representatives into the secrets of Enigma decryption.

Soon after World War II broke out on 1 September 1939, key Cipher Bureau personnel were evacuated on September 17, as the Soviet Union entered eastern Poland, they crossed into Romania. From there they reached Paris, France; at PC Bruno, near Paris, they continued breaking Enigma, collaborating with British cryptologists at Bletchley Park as the British got up to speed on breaking Enigma. In due course, the British cryptographers — whose ranks included many chess masters and mathematics dons such as Gordon Welchman, Max Newman, and Alan Turing the conceptual founder of modern computing — substantially advanced the scale and technology of Enigma decryption.

At the end of the War, on 19 April 1945, Britain's top military officers were told that they could never reveal that the German Enigma cipher had been broken because it would give the defeated enemy the chance to say they "were not well and fairly beaten". [1]

US Navy cryptographers, with cooperation from British and Dutch cryptographers broke into several Japanese Navy crypto systems after 1940. The break into one of these, JN-25, famously led to the US victory in the Battle of Midway; and to the publication of that fact in the Chicago Tribune shortly after the battle, though the Japanese seem not to have noticed for they kept using the JN-25 system. A US Army group, the SIS, managed to break the highest security Japanese diplomatic cipher system (an electromechanical 'stepping switch' machine called Purple by the Americans) even before WWII began. The Americans referred to the intelligence resulting from cryptanalysis, perhaps especially that from the Purple machine, as 'Magic'. The British eventually settled on 'Ultra' for intelligence resulting from cryptanalysis, particularly that from message traffic protected by the various Enigmas. An earlier British term for Ultra had been 'Boniface' in an attempt to suggest, if betrayed, that it might have an individual agent as a source.

The German military also deployed several mechanical attempts at a one-time pad. Bletchley Park called them the Fish ciphers, and Max Newman and colleagues designed and deployed the Heath Robinson, and then the world's first programmable digital electronic computer, the Colossus, to help with their cryptanalysis. The German Foreign Office began to use the one-time pad in 1919; some of this traffic was read in WWII partly as the result of recovery of some key material in South America that was discarded without sufficient care by a German courier.

The Japanese Foreign Office used a locally developed electrical stepping switch based system, named Purple by the US, and also had used several similar machines for attaches in some Japanese embassies. One of these was called the 'M-machine' by the US, another was referred to as 'Red'. All these systems were broken, to one degree or another, by the Allies.


SIGABA is described in U.S. Patent 6,175,625 , filed in 1944 but not issued until 2001.Allied cipher machines used in WWII included the British TypeX and the American SIGABA; both were electromechanical rotor designs similar in spirit to the Enigma, albeit with major improvements. Neither is known to have been broken by anyone during the War. The Poles used the Lacida machine, but its security was found to be less than intended (by Polish Army cryptographers in the UK), and its use was discontinued. US troops in the field used the M-209 and the still less secure M-94 family machines. British SOE agents initially used 'poem ciphers' (memorized poems were the encryption/decryption keys), but later in the War, they began to switch to one-time pads.

The VIC cipher (used at least until 1957 in connection with Rudolf Abel's NY spy ring) was a very complex hand cipher, and is claimed to be the most complicated known to have been used by the Soviets, according to David Kahn in Kahn on Codes. For the decrypting of Soviet ciphers (particularly when one-time pads were reused), see the Venona project.


Modern cryptography

Until the 1970s, secure cryptography was largely the preserve of governments. Two events have since brought it squarely into the public domain:

  • The creation of a public encryption standard (DES); and
  • The invention of public-key cryptography.


Shannon

The era of modern cryptography really begins with Claude Shannon, arguably the father of mathematical cryptography, with the work he did during WWII on communications security. In 1949 he published Communication Theory of Secrecy Systems in the Bell System Technical Journal and a little later the book, Mathematical Theory of Communication, with Warren Weaver. Both included results from his WWII work. These, in addition to his other works on information and communication theory established a solid theoretical basis for cryptography and also for much of cryptanalysis. And with that, cryptography more or less disappeared into secret government communications organizations such as NSA, GCHQ, and their equivalents elsewhere. Very little work was again made public until the mid '70s, when everything changed.


An encryption standard

The mid-1970s saw two major public i.e., non-secret; advances. First was the publication of the draft Data Encryption Standard in the U.S. Federal Register on 17 March 1975. The proposed DES cipher was submitted by a research group at IBM, at the invitation of the National Bureau of Standards (now NIST), in an effort to develop secure electronic communication facilities for businesses such as banks and other large financial organizations. After 'advice' and modification by NSA, acting behind the scenes, it was adopted and published as a Federal Information Processing Standard Publication in 1977 (currently at FIPS 46-3). DES was the first publicly accessible cipher to be 'blessed' by a national agency such as NSA. The release of its specification by NBS stimulated an explosion of public and academic interest in cryptography.

The aging DES was officially replaced by the Advanced Encryption Standard (AES) in 2001 when NIST announced FIPS 197. After an open competition, NIST selected Rijndael, submitted by two Belgian cryptographers, to be the AES. DES, and more secure variants of it (such as Triple DES; see FIPS 46-3), are still used today, having been incorporated into many national and organizational standards. However, its 56-bit key-size has been shown to be insufficient to guard against brute force attacks. One such attack, undertaken by the cyber civil-rights group Electronic Frontier Foundation in 1997, succeeded in 56 hours — the story is in Cracking DES, published by O'Reilly and Associates. As a result, use of straight DES encryption is now without doubt insecure for use in new cryptosystem designs, and messages protected by older cryptosystems using DES, and indeed all messages sent since 1976 using DES, are also at risk. Regardless of DES' inherent quality, the DES key size (56-bits) was thought to be too small by some even in 1976, perhaps most publicly by Whitfield Diffie. There was suspicion that government organizations even then had sufficient computing power to break DES messages; clearly others have achieved this capability.


Public Key Systems

The second development, in 1976, was perhaps even more important, for it fundamentally changed the way cryptosystems might work. This was the publication of the paper “New Directions in Cryptography” by Whitfield Diffie and Martin Hellman. It introduced a radically new method of distributing cryptographic keys, which went far toward solving one of the fundamental problems of cryptography, key distribution, and has become known as the Diffie-Hellman key exchange. The article also stimulated the almost immediate public development of a new class of enciphering algorithms, the asymmetric key algorithms.

Prior to that time, all useful modern encryption algorithms had been symmetric key algorithms, in which the same cryptographic key is used with the underlying algorithm by both the sender and the recipient, who must both keep it secret. All of the electromechanical machines used in WWII were of this logical class, as were the Caesar and Atbash ciphers and essentially all cipher systems throughout history. The 'key' for a code is the codebook, which must likewise be distributed and kept secret, and so shares most of the same problems in practice.

Of necessity, the key in every such system had to be exchanged between the communicating parties in some secure way prior to any use of the system (the term usually used is 'via a secure channel') such as a trustworthy courier with a briefcase handcuffed to a wrist, or face-to-face contact, or a loyal carrier pigeon. This key management requirement is never trivial and very rapidly becomes unmanageable as the number of participants increases, or when secure channels aren't available for key exchange, or when, as is sensible cryptographic practice, keys are frequently changed. In particular, if messages are meant to be secure from other users, a separate key is required for each possible pair of users. A system of this kind is known as a secret key, or symmetric key cryptosystem. D-H key exchange (and succeeding improvements and variants) made operation of these systems much easier, and more secure, than had ever been possible before in all of history.

In contrast, asymmetric key encryption uses a pair of mathematically related keys, each of which decrypts the encryption performed using the other. Some, but not all, of these algorithms have the additional property that one of the paired keys cannot be deduced from the other by any known method other than trial and error. An algorithm of this kind is known as a public key or asymmetric key system. Using such an algorithm, only one key pair is needed per user. By designating one key of the pair as private (always secret), and the other as public (often widely available), no secure channel is needed for key exchange. So long as the private key stays secret, the public key can be widely known for a very long time without compromising security, making it safe to reuse the same key pair indefinitely.

For two users of an asymmetric key algorithm to communicate securely over an insecure channel, each user will need to know their own public and private keys as well as the other user's public key. Take this basic scenario: Alice and Bob each have a pair of keys they've been using for years with many other users. At the start of their message, they exchange public keys, unencrypted over an insecure line. Alice then encrypts a message using her private key, and then re-encrypts that result using Bob's public key. The double-encrypted message is then sent as digital data over a wire from Alice to Bob. Bob receives the bit stream and decrypts it using his own private key, and then decrypts that bit stream using Alice's public key. If the final result is recognizable as a message, Bob can be confident that the message actually came from someone who knows Alice's private key (presumably actually her if she's been careful with her private key), and that anyone eavesdropping on the channel will need Bob's private key in order to understand the message.

Asymmetric algorithms rely for their effectiveness on a class of problems in mathematics called one-way functions, which require relatively little computational power to execute, but vast amounts of power to reverse, if reversal is possible at all. A classic example of a one-way function is multiplication of very large prime numbers. It's fairly quick to multiply two large primes, but very difficult to find the factors of the product of two large primes. Because of the mathematics of one-way functions, most possible keys are bad choices as cryptographic keys; only a small fraction of the possible keys of a given length are suitable, and so asymmetric algorithms require very long keys to reach the same level of security provided by relatively shorter symmetric keys. The need to both generate the key pairs, and perform the encryption/decryption operations make asymmetric algorithms computationally expensive, compared to most symmetric algorithms. Since symmetric algorithms can often use any sequence of (random, or at least unpredictable) bits as a key, a disposable session key can be quickly generated for short-term use. Consequently, it is common practice to use a long asymmetric key to exchange a disposable, much shorter (but just as strong) symmetric key. The slower asymmetric algorithm securely sends a symmetric session key, and the faster symmetric algorithm takes over for the remainder of the message.

Asymmetric key cryptography, Diffie-Hellman key exchange, and the best known of the public key / private key algorithms (i.e., what is usually called the RSA algorithm), all seem to have been independently developed at a UK intelligence agency before the public announcement by Diffie and Hellman in 1976. GCHQ has released documents claiming they had developed public key cryptography before the publication of Diffie and Hellman's paper. Various classified papers were written at GCHQ during the 1960s and 1970s which eventually led to schemes essentially identical to RSA encryption and to Diffie-Hellman key exchange in 1973 and 1974. Some of these have now been published, and the inventors (James H. Ellis, Clifford Cocks, and Malcolm Williamson) have made public select parts of their work.


Cryptography Politics (Wars)

The public developments of the 1970s broke the near monopoly on high quality cryptography held by government organizations, refer to S Levy's Crypto for a journalistic account of some of the policy controversy of the time in the US. For the first time ever, those outside government organizations had access to cryptography not readily breakable by anyone, including governments. Considerable controversy, and conflict, both public and private, began more or less immediately. It has not yet subsided. In many countries, for example, export of cryptography is subject to restrictions. Until 1996 export from the U.S. of cryptography using keys longer than 40 bits, ie too small to be very secure against a knowledgeable attacker, was sharply limited. As recently as 2004, former FBI Director Louis Freeh, testifying before the 9/11 Commission, called for new laws against public use of encryption.

One of the most significant people favouring strong encryption for public use was Phil Zimmermann. He wrote and then in 1991 released PGP (Pretty Good Privacy), a very high quality crypto system. He distributed a freeware version of PGP when he felt threatened by legislation then under consideration by the US Government that would require backdoors to be included in all cryptographic products developed within the US. His system was released worldwide shortly after he released it in the US, and that began a long criminal investigation of him by the US Government Justice Department for the alleged violation of export restrictions. The Justice Department eventually dropped its case against Zimmermann, and the freeware distribution of PGP has continued around the world. PGP even eventually became an open Internet standard, RFC 2440 or OpenPGP.


Modern Cryptoanalysis

The development of cryptography has been paralleled by near equal developments in cryptoanalysis — of the "breaking" of codes and ciphers. The early discovery and application of frequency analysis to the reading of encrypted communications has on occasion altered the course of history. Thus the Zimmermann Telegram triggered the United States' entry into World War I; and Allied reading of Nazi Germany's ciphers shortened World War II, in some evaluations by as much as two years.

Modern cryptoanalysts sometimes harness large numbers of integrated circuits. This board is part of the EFF DES cracker, which contained over 1800 custom chips and could brute force a DES key in a matter of days. While modern ciphers like AES and the higher quality asymmetric ciphers are widely considered unbreakable, poor designs and implementations are still sometimes adopted and there have been important cryptanalytic breaks of deployed crypto systems in recent years.

Notable examples of broken crypto designs include DES, the first Wi-Fi encryption scheme WEP, the Content Scrambling System used for encrypting and controlling DVD use, the A5/1 and A5/2 ciphers used in GSM cell phones, and the CRYPTO1 cipher used in the widely deployed MIFARE Classic smart cards from NXP Semiconductors, a spun off division of Philips Electronics. All of these are symmetric ciphers. Thus far, not one of the mathematical ideas underlying public key cryptography has been proven to be 'unbreakable', and so some future mathematical analysis advance might render systems relying on them insecure. While few informed observers foresee such a breakthrough, the key size recommended for security as best practice keeps increasing as increased computing power required for breaking codes becomes cheaper and more available.

More recent developments utilising quantum computing is the NTRUEncrypt lattice based systems first proposed in 1996. It was standardised in 2008 by the IEEE Std 1363.1. This currently appears to be the leading candidate when RSA and elliptic curve cryptography eventually need to be withdrawn. The parallels, and an idea for quantum encryption techniques are based on the massive computational intensive thermodynamics modelling in the book by George G Szpiro.

Applications

  • Ancient Languages;  Modern cryptanalysis has been used by archaeologists to identify ancient languages and codes.
  • Radio Communications; Early radio communications used baseband inversion (analogue systems) and then multi-band vocoders, eg the NEC C1 radiotelephone radios circa 1982. This only made casual eavesdropping difficult and was very easily cracked – even without additional equipment!

GSM communications

• Authentication
The COMP128 algorithm as the implementation of the A3 algorithm is most popular. The A3 task is to generate the 32-bit Signed Response utilizing the 128-bit random challenge generated by the Home Location Register and the 128-bit Individual Subscriber Authentication Key from the Subscribers SIM card or the Home Location Register. This encryption has been broken in under a minute.

• Voice Encryption
This uses a stream cipher known as the A5 algorithm. Multiple versions of the A5 algorithm exist which implement various levels of encryption. This encryption has been broken in under a second using ciphertext-only attack. Attack methods for A5/1 and A5/3 are also published.

A5/0 utilizes no encryption.
A5/1 is the original A5 algorithm used in Europe.
A5/2 is a weaker encryption algorithm created for export and used in the United States.
A5/3 is a strong encryption algorithm created as part of the 3rd Generation Partnership Project (3GPP).

Motorola build voice/data crypto radios, XTS3000, XTS5000 etc. These have DES-XL, DVI-XL, DVP-XL (noting DVP is an early first generation Securenet product).
DVP is a Motorola developed Digital Voice Privacy algorithm made in the mid-1970's using 32bit key length.
DES is Motorola encryption algorithm that meets US Government encryption guidelines, using a 56bit DES key.
DVP-XL is Motorola proprietary encryption algorithm using 32bit key encryption.
DVI-XL is an export grade variant of DVP-XL for export outside of the US.
DES-XL is a Motorola variant of the US Government DES algorithm.
DVP and DES are self-synchronizing modes of operation, coverage range is slightly degraded due to data errors due to Rayleigh fading on radio channel.
DVP-XL, DVI-XL, DES-XL use a sync header and periodic sync updates. For operation on fading radio channels, this provides encryption coverage range similar to analog FM voice coverage.
DVP-XL, DVI-XL, and DES-XL should provide similar coverage on conventional or trunked systems. Since current generation of trunking control channels are not encrypted, someone could monitor which talkgroups are active and the general level of activity, even though they could not monitor the talkgroup conversations on the traffic channels.
DES-OFB used output feedback for error correction.
ADP is a 40bit key length software based encryption method, simple, but restricts hardware updates.
AES-256, these algorithms that use a 256 bit key length.

  • Operating Systems

Microsoft messed up the Windows 3.1 and Windows 95 password file (.PWL) encryption key processing, providing a maximum of 32 bits of keyspace. A dictionary attack could recover most password in a few seconds. Frank Stevenson extended this attack by taking advantage of the fact that the RC4 cipher that Microsoft used was a pure keystream generator, allowing all information protected with it to be recovered in a fraction of a second, even with more recent upgrades to 128bit keys.

  • Dark applications

The idea of self encrypting polymorphic viruses gained popularity in the early 1990’s and brought to life generators of polymorphic code - in early 1992 the famous "Dedicated" virus appears, based on the first known polymorphic generator MtE and the first in a series of MtE-viruses; shortly after that there appears the polymorphic generator itself.

  • Movies

Cryptography is featured heavily in the 1998 film “Mercury Rising” with Bruce Willis, Alec Baldwin and Miko Hughes.

The 1992 film “Sneakers” touches on crypro techniques, and the 1988 Vietnam war film “Bat 21” shows a crypto style graphical map key used to rescue a general.



Further Reading

“Breaking the Maya Code”. Michael D. Coe, 1992, 304 pp. London and New York: Thames and Hudson. The work of the Russian linguist Yuri Knorozov is the basis for reading Mayan hieroglyphics phonetically.

“The secret life of numbers”, George G Szpiro, 210 pp. Joseph Henry Press 2006, Chapter 47.

CRYPTANALYSIS: A STUDY OF CIPHERS AND THEIR SOLUTION by Helen Fouche Gaines, Dover Publications, 1956 edition.

“The Codebreakers”, David Kahn, Macmillian, 1967.

"The Sectret War", Francis Russell & the Editors of TIME-LIFE Books, Time-Life Books, 1981.

"The Puzzle Palace", James Bamford, Houghton-Mifflin, 1982.

“The Code Book”, Simon Singh, Doubleday, 1998.

CRYPTOGRAPHY DECRYPTED by H.X. Mel and Doris Baker, Addison-Wesley, 2001.

"Quantum Cryptography" by Charles Bennett, Gilles Brassard, & Artur K. Ekert, SCIENTIFIC AMERICAN, July 1992.

"They're Listening To Your Calls" by Otis Port with Inka Resch, BUSINESS WEEK, 31 May 1999, 110:111.

"Handbook of Applied Cryptography", A. Menezes, P. van Oorschot, and S. Vanstone, CRC Press, 1996.
Encryption Wars Article - Spectrum Magazine May 2000
Exhaustive Cryptoanalysis of the NBS Data Encryption Standard



Kryptoblog » Inbyggda system

http://strombergson.com/kryptoblog/category/inbyggda-system/page/2/

En ny attack mot KeeLoq

Thursday, February 14th, 2008

Det har dykt upp än ny attack mot KeeLoq.

I höstas blev det en hel del uppmärksamhet om den attack som Biham & Co lyckades genomföra mot kryptot i KeeLoq. Jag postade flera gånger om denna attack, bland annat om att KeeLoq-användaren Volvo noga följde utvecklingen.

KeeLoq-bild

KeeLoq är alltså en krets från Microchip som används i trådlösa autenticieringsmekaniser och KeeLoq är väldigt vanlig i trådlösa lås på bilar, speciellt dyrare bilar exempelvis från Jaguar och Volvo.

Det Biham & Co visade var att det finns fundamentala brister i kryptomekanismerna som gör att det går att räkna ut nycklar, både enskilda nycklar och de huvudnycklar som används i samtliga bilar av en viss modell. Den här attacken krävde inte heller årtionden av beräkningstid, utan går så fort att man bör kunna anse attacken som praktiskt genomförbar.

Och som det brukar vara i sådana här sammanhang - hittar någon en brist, ett fult sår och varböld dyker det raskt upp fler som vill dit och peta och rota. Eftersom någon visat att det finns något värt att publicera och få uppmärksamhet kring finns det säkert mer att gräva fram och få del av uppmärksamheten. Liknande beteende tycker jag mig bla se vad gäller attacker mot hashfunktioner.

Några som inte tvekade att peta på KeeLoq är Thomas Eisenbarth, Timo Kasper, Amir Moradi, Christof Paar, Mahmoud Salmasizadeh och Mohammad T. Manzuri Shalmani. Vad de upptäckte var att det finns problem med inte bara de bakomliggande algoritmerna hos KeeLoq, utan det brister även i implementationen. Mer specifikt finns det brister som öppnar upp för sidoattacker.

Deras artikel Physical Cryptanalysis of KeeLoq Code Hopping Applications beskriver det här:

Recently, some mathematical weaknesses of the KeeLoq algorithm have been reported. All of the proposed attacks need at least $2^{16}$ known or chosen plaintexts.

In real-world applications of KeeLoq, especially in remote keyless entry systems using a so-called code hopping mechanism, obtaining this amount of plaintext-ciphertext pairs is rather impractical.

We present the first successful DPA attacks on numerous commercially available products employing KeeLoq code hopping. Using our proposed techniques we are able to reveal not only the secret key of remote transmitters in less that one hour, but also the manufacturer key of receivers in less than one day. Knowing the manufacture

(Notera att artikeln ligger på IACR och den behöver därmed inte varit granskad.)

Författarna skriver om tidigare presenterade attacker mot KeeLoq att:

To our knowledge, most of the commercial implementations of KeeLoq as a remote keyless entry system employ the code hopping mechanism. Thus, the described attacks are not considered as a big threat for their security.

Artikeln beskriver två olika attacker. Båda attackerna bygger på att man mäter förändringar i strömförbrukningen som en effekt av att kretsarna utför sina KeeLoq-operationer.

In 1999, Kocher et. al [5] proposed several methods for analyzing the information leakage of implementations of security related systems. The most powerful attack in this area is called DPA (Differential Power Analysis) and exploits power consumption traces of cryptographic hardware to reveal confidential information.

Almost ten years later, DPA remains an attack mostly performed in smart card evaluation labs and universities, only targeting their own known implementations.

We introduce two DPA attacks on KeeLoq code hopping systems. The first reveals the secret device key from an integrated circuit that performs the encryption in a transmitter. The second attack is executed on the receiver to recover the manufacturer key from a software implementation running on a microcontroller.

För det första artikeln skriver författarna:

By analyzing the power traces, we found out that there is a specific hardware inside the chip to perform the KeeLoq encryption.

We performed this attack on several chips with different part numbers in DIP or SOIC packages. We are able to recover the secret key of KeeLoq encoders in DIP packages from only 10 power traces. Clearly, SOIC packages benefit from a smaller process technology so the power consumption values are smaller than DIP packages. Hence, the SNR (signal-to-noise ratio) is decreased and we need more power traces. Still, at most 50 power traces are sufficient to reveal the secret key of a device in an SOIC package.

Författarna går sedan vidare och visar hur de kan attackera frekvenshoppsmekanismen även i mottagaren. Författarnas slutsats är klar:

lthough some theoretical attacks on the KeeLoq algorithm have recently been reported, none of them is able to break the code hopping systems in a reasonable time. We illustrated the difficulties of those attacks in the presence of different key derivation schemes.

In this paper we presented the first successful practical attacks on KeeLoq code hopping systems. These very effective attacks represent a real practical threat for many commercial applications employing the KeeLoq algorithm.

Alltså attacker mot verkliga implementationer av KeeLoq som går på rimlig tid och fungerar i verkligheten.

Jag hoppas att Volvo inte bara följer detta med intresse, utan även arbetar med att lösa problemet. Det lär nog behövas…

Kryptanalys av Philips CRYPTO1 på CCC

Tuesday, January 1st, 2008

(Den här nyheten kom på den utmärkta bloggen Cryptanalysis som jag kommer att lägga in i blogrollen.)

På den 24:e CCC-konferensen (Chaos Computer Club) presenterade Karsten Nohl (från University of Virginia) och Henryk Plötz detaljer om Philips proprietära strömkrypto CRYPTO1 som de fått fram genom kryptanalys.

CRYPTO1 är ett krypto som används i kontaktlösa smartcards som följer standarden ISO 14443. Kryptot används för att skydda luftgränssnittet vid kommunikationen mellan läsaren och kortet. Ett exempel på ett kort som implementerar CRYPTO1 är MiFare-kortet från NXP. (NXP är resterna av kretsföretaget VLSI Technology som köptes upp av Philips.)

MiFare

Ganska lite har tidigare varit känt om CRYPTO1 och bland annat har det spekulerats att kryptot är en variant på 3DES. Det Nohl och Plötz nu visar är att CRYPTO1 istället är ett LFSR-baserat strömkrypto. LFSR-kedjan i CRYPTO1 är på 48 bitar med 20 tappar.

Bild från presentationen

Bilder från presentationen på CCC-konferensen finns här.

Som jag fattat det innebär inte detta att kryptot är helt knäckt, och tydligen har det sedan tidigare funnits brute force-attacker. Men att detta antagligen leder till snabbare attacker är nog en inte allt för vild gissning. Vi lär få återkomma.

Uppdatering 2008-01-03:
Albert påpekar i en kommentar att videon nu finns, både hos Google och hos CCC.

Ruptor påpekar i en kommentar att han tidigare publicerat källkod innehållande en attack av HiTag2-kryptot.

Jag blir inte helt klok på om det är samma krypto i HiTag2 och MiFare. Kryptot i källkoden har iaf en 48-bits LFSR-kedja. Någon som vet?

Mer uppdatering 2008-01-03:
Ruptor har även på cryptanalysis sida om den på CCC presenterade attacken länkat till sin kod och även till en PDF med specen för Hitag2. Karsten (som gjort analysen av CRYPTO1) verkar ha tittat på Ruptors kod och kommit fram till att det inte är samma krypto.

Ny biometriprocessor från FPC

Saturday, December 22nd, 2007

Biometriföretaget Fingerprint Cards (FPC) från Göteborg har släppt en en ny biometriprocessor till sina sensorer. (Ja, för en månad sedan - jag är inte så snabb.)

FPC2020

FPC2020 är anpassad för att fungera med FPCs areasensor FPC1011C.

FPCs areasensor

FPC2020 integrerar hårdvara för bildbehandling, acceleration av biometriska algoritmer och en kontrollprocessor.

Detta gör att man inte som tidigare behöver någon extern processor, ex en ARM eller en AVR. Utan det man behöver för att bygga in en biometrifunktion är en sensor, ett seriellt FLASH-minne, en kristall och FPC2020. (FPC skriver inget om innehållet i FLASH-minnet är skyddat och hur.)

Det finns ett datablad med detaljerad information om FPC2020 inklusive API:t för att använda kretsen. I det kan man bland annat hitta följande information.

Antalet användare som kan hanteras beror på storleken på externa FLASH-minnet. Med 2 Mbit klarar FPC2020 att hantera 223 olika templates. Största FLASH-minnet FPC2020 verkar stödja är 8 Mbit vilket ger kapacitet för 991 templates, men FPC skriver att man bör hålla nere antalet templates till mindre än 500.

Verifiering mot en enskild template tar ca 0.2 sekunder. Registrering (Enrolment) tar däremot hela sju sekunder. Normalt sett gör varje användare en eller ett fåtal registreringar och massor med verifieringar så verifieringstiden är det som är viktigt att få snabbt. Men sju sekunder är ändå tillräckligt lång tid för att man skall börja fundera på om det gick bra eller ej.

Vad gäller säkerheten skriver FPC att False-Rejection-Rate (FRR, dvs man godkänner inte ett tidigare registrerat fingeravtryck) går att justera och beror på indata. Även False-Acceptance-Rate (FAR, dvs man accepterar ett icke registrerat fingeravtryck) är ställbar från 1/1000 till 1/100.000. Vid 1/100.000 får man en FRR på mindre än 7 %.

Säkerhetsmässigt är ett lågt FAR-värde mycket viktigt. Däremot är ett lågt FRR-värde viktigt för att systemet inte skall kännas bökigt att använda.

En liten märklig detalj. Jag hittar ingen information på FPCs webbplats vad som hänt deras sweepsensorer FPC1030 och FPC1031.

Krokodilen?

Bilden ovan hittade jag på den här webbplatsen. På den sidan står det att FPCs sensorer utvecklats av ett företag i Holland kallat Xensor. En annan märklig detalj är att bilden ovan heter Krokodilen?!

Personligen föredrar jag sweepsensorer före areasensorer. Jag tyckte att FPCs sweepsensorer i förhållande till areasensorn var mycket trevligare att arbeta med, tog mindre plats och dessutom inte kan ha några problem med kvarlämnade (latenta) fingeravtryck på sensorn.

FPC2020 kommer kapslad i en liten och trevlig 64-bens QFN-kapsel. FPC2020 klarar matning från 2.5V till 3.3V och kommunicerar mot omvärlden via RS-232 (vilket FPC kallar UART) eller SPI-interface.


MIFARE Vulnerability/Attack


http://sar.informatik.hu-berlin.de/research/publications/SAR-PR-2008-21/SAR-PR-2008-21_.pdf

http://tech.mit.edu/V128/N30/subway/Defcon_Presentation.pdf

http://www.nxp.com/acrobat_download/other/identification/m043531.pdf

http://www.nxp.com/acrobat_download/other/identification/SFS070632.pdf

http://www.scribd.com/doc/2887505/Mifare-Cryptanalysis-of-Crypto1?autodown=pdf

http://cryptography.hyperlink.cz/2009/ST_2009_03_09_09.pdf

http://www.nottingham.ac.uk/bridging/ubicomp/VanRossum.pdf

http://www.sos.cs.ru.nl/applications/rfid/2008-esorics.pdf

http://cryptome.org/mifare-classic.pdf

http://www.cs.ru.nl/~erikpoll/hw/slides/2008-12-01%20Mifare%20Lecture.pdf

http://www.cs.ru.nl/~flaviog/publications/Talk.Mifare.pdf

http://www.scribd.com/document_downloads/4594140?extension=pdf&secret_password=6wov7i1j5bgax40a51

http://code.google.com/p/crapto1/source/browse/trunk/README?spec=svn10&r=10

http://www.docstoc.com/docs/DownloadDoc.aspx?doc_id=2526532

May 10, 2009

Nicolas T. COURTOIS' research in cryptography

http://www.nicolascourtois.me.uk/

Nicolas T. Courtois research page



My research: publications, presentations, talks, reports, courses, slides, + echoes in the press/Internet.


  • Card-only attacks on MiFare Crypto-1 cipher. Nicolas T. Courtois: The Dark Side of Security by Obscurity and Cloning MiFare Classic Rail and Building Passes Anywhere, Anytime , new attack requires only 300 queries to the card and will appear in SECRYPT 2009 – International Conference on Security and Cryptography: 7-10 July 2009, Milan, Italy. A version of this paper is available here. Other researchers also found other and different card-only attacks on MiFare Classic.
  • Nicolas T. Courtois: Self-similarity Attacks on Block Ciphers and Application to KeeLoq,, In International Workshop on Coding and Cryptography, May 10-15, 2009, Ullensvang, Norway.
  • Algebraic attacks on MiFare Crypto-1 cipher. At eprint.iacr.org/2008/166/ This work was a bit of disappointment: we could recover the key in 12 seconds but this automated cryptanalysis, we did not realise how weak this cipher actually was, and later Dutch researchers have shown a simpler and better attack that does the job in less than 0.1 seconds (in contrast our attack is more generally applicable and can also break Hitag2, to appear soon).
  • Nicolas Courtois: Improved Brute Force Attacks on KeeLoq, In 6th ESCAR conference - Embedded Security in Cars 2008. Hotel Hafen Hamburg (Germany), 18-19 November 2008.
  • Nicolas Courtois and Blandine Debraize: Algebraic Description and Simultaneous Linear Approximations of Addition Modulo 2^n, In ICICS 2008, 10th International Conference on Information and Communications Security, 20 - 22 October, 2008, Birmingham, UK. Will appear in LNCS, Springer.Also was presented at SASC 2008 workshop, Lausanne, Switzerland, 13-14 February 2008.
  • Press report Zlamany szyfr karty Oyster, on the Internet service of Gazeta Wyborcza, one of the biggest Polish daily newspapers.
  • Côme Berbain, Olivier Billet, Anne Canteaut, Nicolas Courtois, Henri Gilbert, Louis Goubin, Aline Gouget, Louis Granboulan, Cédric Lauradoux, Marine Minier, Thomas Pornin and Hervé Sibert: Sosemanuk , a Fast Software-Oriented Stream Cipher, In New Stream Cipher Designs, The eSTREAM Finalists, LNCS 4986, pp. 98-118, Springer, 2008.
  • Côme Berbain, Olivier Billet, Anne Canteaut, Nicolas Courtois, Blandine Debraize, Henri Gilbert, Louis Goubin, Aline Gouget, Louis Granboulan, Cédric Lauradoux, Marine Minier, Thomas Pornin and Hervé Sibert: Decim v2, In New Stream Cipher Designs, The eSTREAM Finalists, LNCS 4986, pp. 140-151, Springer, 2008.
  • Nicolas Courtois, Gregory V. Bard and Andrey Bogdanov: Periodic Ciphers with Small Blocks and Cryptanalysis of KeeLoq , In Tatra Mountains Mathematic Publications, post-proceedings of Tatracrypt 2007 conference, 2009.
  • Sean O’Neil, Nicolas Courtois: Reverse-engineered Philips/NXP Hitag2 Cipher, presented at the rump session of FSE 2008, Lausanne, 12 February 2008. Source code + nice picture can be found here.
  • Nicolas Courtois, Gregory V. Bard and David Wagner: Algebraic and Slide Attacks on KeeLoq. This paper describes 1) the first successful algebraic attack in history on a full round real-life block cipher 2) the fastest attack ever found on KeeLoq. The complexity of the latter is about 2^28  KeeLoq encryptions on average, and can be even 2^23  for a fraction of keys (see our next paper in preparation, not in FSE proceedings). The paper was presented at Fast Software Encryption 2008, Lausanne, Switzerland, February 10-13, 2008, and appears in LNCS Springer, 2008.
    See also a VERY OLD version, NOT up-to-date: eprint/2007/062/.
  • Experimental algebraic cryptanalysis of block ciphers - web page.
  • Presentation New Frontiers in Symmetric Cryptanalysis, from the invited talk given by N. Courtois at at ECRYPT workshop Tools for Cryptanalysis in Krakow, 24-25 September, full version is available here.
  • Nicolas Courtois and Blandine Debraize: Specific S-box Criteria in Algebraic Attacks on Block Ciphers with Several Known Plaintexts, to appear in Post-Proceedings of WEWoRC 2007, Western European Workshop on Research in Cryptology, July 4-6, 2007, Ruhr-University Bochum, Germany. To appear in Springer LNCS 4945.
  • Full-page magazine article in Polish: "Jak sie wlamac do samochodu znanej marki za pomoca kryptoanalizy?", in monthly magazine of academics and students of Military University of Technology, Warsaw, Poland, Nr 7-9, 136-138, July-September 200, page 12, ISSN 1507-9988.
  • Nicolas Courtois, Gregory V. Bard: Algebraic Cryptanalysis of the Data Encryption Standard, In 11-th IMA Conference, Cirencester, UK, 18-20 December 2007, Springer LNCS 4887. 
    Was also presented at ECRYPT workshop Tools for Cryptanalysis in Krakow, 24-25 September. See also eprint.iacr.org/2006/402/.
  • Presentation New Frontiers in Symmetric Cryptanalysis, from the talk given by N. Courtois at rump session of Eurocrypt 2007, available here. Longer and different version was presented at ECRYPT workshop Tools for Cryptanalysis and is available here.
  • Press report: w attacks on KeeLoq that is used to unlock doors and deactivate the alarm in many cars, see (in Polish) a report on IPSEC.PL online news service.
  • Another report in Polish: "Czekasz chwile i wchodzisz do dowolnej limuzyny".
  • Nicolas Courtois, Gregory V. Bard, Chris Jefferson: Efficient Methods for Conversion and Solution of Sparse Systems of Low-Degree Multivariate Polynomials over GF(2) via SAT-Solvers, eprint/2007/024/. Will be presented at ECRYPT workshop Tools for Cryptanalysis in Krakow, 24-25 September.


"Dismantling MIFARE Classic" - Google Search

http://www.google.com/search?q=%22Dismantling+MIFARE+Classic%22&btnG=Google+Search

Search Results

  1. [PDF]

    Dismantling MIFARE Classic

    File Format: PDF/Adobe Acrobat - View as HTML
    Dismantling MIFARE Classic. Flavio D. Garcia, Gerhard de Koning Gans, .... Dismantling MIFARE Classic. 101. We started experimenting with the Ghost and an ...
    www.sos.cs.ru.nl/applications/rfid/2008-esorics.pdf - Similar pages -
    by FD Garcia - Cited by 8 - Related articles - All 12 versions
  2. Security Flaw in Mifare Classic

    7 Mar 2008 ... Dismantling MIFARE Classic, ESORICS 2008 (slides); Making the Best of Mifare Classic, manuscript (updated Decmber 11, 2008) ...
    www.sos.cs.ru.nl/applications/rfid/main.html - 10k - Cached - Similar pages -
    More results from www.sos.cs.ru.nl »
  3. MIFARE - Wikipedia, the free encyclopedia

    "Dismantling MIFARE Classic". 13th European Symposium on Research in Computer Security (ESORICS 2008), LNCS, ...
    en.wikipedia.org/wiki/MIFARE - 64k - Cached - Similar pages -
  4. Crypto-1 - Wikipedia, the free encyclopedia

    "Dismantling MIFARE Classic". 13th European Symposium on Research in Computer Security (ESORICS 2008), LNCS, ...
    en.wikipedia.org/wiki/Crypto-1 - 28k - Cached - Similar pages -
    More results from en.wikipedia.org »
  5. Video results for "Dismantling MIFARE Classic"

  6. [PDF]

    Dismantling MIFARE Classic

    File Format: PDF/Adobe Acrobat - View as HTML
    Peter van Rossum, Roel Verdult, Ronny Wichers Schreur and Bart Jacobs. Flavio D. Garcia. Dismantling MIFARE Classic. Page 2. Introduction ...
    www.cs.ru.nl/~flaviog/publications/Talk.Mifare.pdf - Similar pages -
    by FD Garcia - Cited by 8 - Related articles - All 12 versions
  7. [PDF]

    Dismantling Mifare Classic

    File Format: PDF/Adobe Acrobat - View as HTML
    Dismantling. Mifare Classic. Ronny Wichers Schreur. Digital Security Group. Radboud University Nijmegen with Flavio Garcia, Jaap-Henk Hoepman, Bart Jacobs, ...
    www.cs.ru.nl/~erikpoll/hw/slides/2008-12-01%20Mifare%20Lecture.pdf - Similar pages -
    More results from www.cs.ru.nl »
  8. A Practical Attack on the MIFARE Classic

    7 Aug 2008 ... dismantling mifare classic publication date · read block content mifare card · howto copy myfare · mifare 1k sample data format ...
    www.scribd.com/doc/4594140/A-Practical-Attack-on-the-MIFARE-Classic - 322k - Cached - Similar pages -
  9. Dismantling MIFARE Classic

    Dismantling MIFARE Classic. Source, Lecture Notes In Computer Science; Vol. 5283 archive. Proceedings of the 13th European Symposium on Research in Computer ...
    portal.acm.org/citation.cfm?id=1462465 - Similar pages -
    by FD Garcia - 2008 - Cited by 8 - Related articles - All 12 versions
  10. Information Security Group

    Flavio D. Garcia, Gerhard de Koning Gans, Ruben Muijrers, Peter van Rossum, Roel Verdult, and Ronny Wichers Schreur. Dismantling MIFARE Classic. ...
    www.avoine.net/rfid/ - 265k - Cached - Similar pages -
  11. [PDF]

    Bibliography on Security and Privacy in RFID Systems

    File Format: PDF/Adobe Acrobat - View as HTML
    Dismantling MIFARE Classic. In Proceding of the 13th European Symposium on Research in. Computer Security, ESORICS 2008, Lecture Notes in Computer Science, ...
    www.avoine.net/rfid/download/bib/bibliography-rfid.pdf - Similar pages -
  12. Midnight Research Labs - “MIFARE Classic” report released

    The report, simply and appropriately entitled “Dismantling MIFARE Classic”, was presented as part of the 13th European Symposium on Research ...
    midnightresearch.com/pages/mifare-classic-report-released/ - 25k - Cached - Similar pages -
  13. Midnight Research Labs - SeverelyBroken

    The report, simply and appropriately entitled “Dismantling MIFARE Classic”, was presented as part of the 13th European Symposium on Research in Computer ...
    midnightresearch.com/pages/category/severelybroken/ - 28k - Cached - Similar pages -
    More results from midnightresearch.com »
  14. MIFARE Classic RFID Chip (Oyster Card) Crack and Hack Details ...

    12 Oct 2008 ... However, the judge has ruled that publishing scientific article which called “Dismantling MIFARE Classic” (now called ESORICS paper) is ...
    www.mydigitallife.info/2008/10/12/mifare-classic-rfid-chip-oyster-card-crack-and-hack-details...for.../comment-page-1/ - 63k - Cached - Similar pages -
  15. MIFARE Classic puce RFID (Oyster Card) hack crack et de ...

     - [ Translate this page ]
    12 oct 2008 ... The main paper, Le document principal, Dismantling MIFARE Classic Démontage MIFARE Classic , had leaked to Internet for a while, ...
    www.mydigitallife.info/2008/10/12/mifare-classic-rfid-chip-oyster-card-crack-and-hack-details-published-for.../fr/ - 117k - Cached - Similar pages -
    More results from www.mydigitallife.info »
  16. Transit Card Maker Sues Dutch University to Block Paper | Freedom ...

    The ESORICS papers is not called "A Practical Attack on the MIFARE Classic" (that is going to CARDIS 2008) but "Dismantling Mifare Classic". ...
    www.freedom-to-tinker.com/blog/felten/transit-card-maker-sues-dutch-university-block-paper - 23k - Cached - Similar pages -
  17. Uncategorized | Freedom to Tinker

    The censored paper is called "Dismantling Mifare Classic".] As usual in these cases of censorship-by-lawsuit, it's hard to see what NXP is trying to achieve ...
    www.freedom-to-tinker.com/tags/uncategorized - 69k - Cached - Similar pages -
    More results from www.freedom-to-tinker.com »
  18. BibSonomy :: bibtex :: Dismantling MIFARE Classic.

    Webapplication of the Knowledge and Data Engineering Group, University of Kassel, Germany.
    www.bibsonomy.org/bibtex/2da69bee445c091de881be08817e44080/dblp - 13k - Cached - Similar pages -
  19. NXP Semiconductors MIFARE Classic Smartcard Multiple Security ...

    Flavio D. Garcia, Gerhard de Koning Gans, Ruben Muijrers: Dismantling MIFARE Classic; NXP Semiconductors: Vendor Homepage ...
    www.juniper.net/security/auto/vulnerabilities/vuln31853.html - 14k - Cached - Similar pages -
  20. Boffins (finally) publish hack for world's most popular smartcard ...

    It is titled Dismantling MIFARE Classic and was released at the European Symposium on Research in Computer Security (Esorics) 2008 security conference in ...
    www.theregister.co.uk/2008/10/06/mifare_hack_finally_published/ - 31k - Cached - Similar pages -
  21. NXP sues to silence Oyster researchers • The Register

    8 Jul 2008 ... The Dutch researchers are planning to publish their scientific paper, appropriately named Dismantling MIFARE Classic, in October in Spain at ...
    www.theregister.co.uk/2008/07/08/nxp_sues_oyster_researchers/ - 29k - Cached - Similar pages -
    More results from www.theregister.co.uk »
  22. A Practical Attack on the MIFARE Classic

    Schreur, R.W.: Dismantling MIFARE Classic (forthcoming). 3. Hoepman, J.-H., Hubbers, E., Jacobs, B., Oostdijk, M., Schreur, R.W.: Crossing ...
    www.springerlink.com/index/u6v0027436h11471.pdf - Similar pages -
    by G de Koning Gans - Cited by 5 - Related articles
  23. The World's Most Used RFID-Based Cards Hackable in Ten Minutes ...

    7 Oct 2008 ... The paper is called Dismantling MIFARE Classic and was presented during the European Symposium on Research in Computer Security (Esorics) ...
    news.softpedia.com/news/The-World-039-s-Most-Used-RFID-based-Cards-Hackable-in-Ten-Minutes-95104.shtml - 48k - Cached - Similar pages -
  24. [PDF]

    The World's Most Used RFID-Based Cards Hackable in Ten Minutes

    File Format: PDF/Adobe Acrobat - View as HTML
    is called Dismantling MIFARE Classic and was presented during the European Symposium on Research in. Computer Security (Esorics) 2008. ...
    news.softpedia.com/newsPDF/The-World-039-s-Most-Used-RFID-based-Cards-Hackable-in-Ten-Minutes-95104.pdf - Similar pages -
    More results from news.softpedia.com »
  25. [PDF]

    Untitled - Notepad

    File Format: PDF/Adobe Acrobat - View as HTML
    Dismantling MIFARE Classic. Forthcoming. 3. J.-H. Hoepman, E. Hubbers, B. Jacobs
    , M. Oostdijk, and R. Wichers Schreur. Crossing ...
    cryptome.org/mifare-classic.pdf - Similar pages -
    by G de Koning Gans - Cited by 5 - Related articles
  26. Jefferson's Wheel » Security

    Also yesterday, the paper, Dismantling MIFARE Classic, by Flavio D. Garcia, Gerhard de Koning Gans, Ruben Muijrers, Peter van Rossum, Roel Verdult, ...
    www.jeffersonswheel.org/?cat=8&paged=2 - 41k - Cached - Similar pages -
  27. Jefferson's Wheel » Cryptography

    Also yesterday, the paper, Dismantling MIFARE Classic, by Flavio D. Garcia, Gerhard de Koning Gans, Ruben Muijrers, Peter van Rossum, Roel Verdult, ...
    www.jeffersonswheel.org/?cat=6 - 45k -