what is the basic mathematics theory of stream cipher?
604806
Information and useful links:\nhttp://en.wikipedia.org/wiki/Stream_cipher
617807
Cryptography &#92;Cryp*tog"ra*phy&#92; (-f?), n. [Cf. F. cryptographie.]\n   1. The act or art of writing in code or secret characters;\n      also, secret characters, codes or ciphers, or messages\n      written in a secret code.\n      [1913 Webster +PJC]\n\n   2. The science which studies methods for encoding messages so\n      that they can be read only by a person who knows the\n      secret information required for decoding, called the key;\n      it includes cryptanalysis, the science of decoding\n      encrypted messages without possessing the proper key, and\n      has several other branches; see for example\n      steganography.\n      [PJC]
144787
I will give you just the simplest possible explanation to get you started. It can be far more involved than this, however. \n\nThe Simple Arithmetic of the Moving Average\n- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -\n\nSuppose you have a string of numbers: { 0 3 1 2 5 3 2 }\n\nIf you suspect that this string of numbers contains some sort of signal, but it is hidden or obscured by noise, you can use a moving average to try to find it. \n\nFor example, suppose that at a time t, you measure a number x, to get x(t): \n\nx(1)=0 \nx(2)=3 \nx(3)=1 \nx(4)=2 \nx(5)=5 \nx(6)=3 \nx(7)=2\n\nThe t values could be seconds, for example, so t=1 is the first second, t=2 is the 2nd second, t=3 is the 3rd second, etc. Then:\n\nx(1) is the x measurement at the first second\n\nx(2) is the x measurement at the second second (that sounds funny doesn't it? )\n\nx(3) is the x measurement at the third second \n\nand so on.\n\nOne could form a moving average of these numbers, to try to find the underlying signal. Let's call the moving average y(t).\n\nLet's suppose that we will average 3 numbers x to find the number y:\n\ny(2)= (1/3)*[x(1)+x(2)+x(3)]\ny(3)= (1/3)*[x(2)+x(3)+x(4)]\ny(4)= (1/3)*[x(3)+x(4)+x(5)]\ny(5)= (1/3)*[x(4)+x(5)+x(6)]\ny(6)= (1/3)*[x(5)+x(6)+x(7)]\n\nSo you see what is happening? The three x values to be averaged are chosen to be x values in a group, and the x values chosen are shifted as the argument of y moves. The values to be averaged move as the argument of y moves,  \nso y(u) = [x(u-1)+x(u)+x(u+1)]/3. You can get fancier, and invent a method to find y(1) and y(7), although there is no x(0) or x(8) to use in the formula. \n\nExamples:\n- - - - - - - - - - - - - - - - -\n\nHow might one use this in practice? Suppose that you want to see the effect of your new traffic signal on traffic flow on the highway. You put a meter down and count how many cars pass per minute, and collect data for 10 days. You want to analyze this data and see if you can see a pattern or a trend in your data, and compare it to data from before you put in the traffic signal. Only problem is, the data are very noisy so it is hard to see a pattern. The solution? Try a moving average to smooth out the lumps in the data to see if a nice pattern emerges that you can compare with the pattern from before you put in the traffic signal. \n\nAnother example is, you are trying to listen to your friend's voice over a microphone on his computer, but there is really so much static that you can hardly hear him. Then, you could use a moving average to try to smooth out some of the noise so you could hear his voice more clearly. \n\n\nMore Advanced:\n--------------------------\n\nOne could make the number of values of x to be averaged larger. One does not have to use an arithmetic average, so another kind of average could be used, like a geometric avearge, or a harmonic average to form y. One does not have to use averages at all, so a median or a mode could be used to find the central value of the x's in the group being analyzed. This is a very simple type of low pass filter, or a procedure to remove high frequency noise and other signals from sequential data. The moving average can be computed using a mathematical technique called convolution. There is a connection between convolutions and an expansion of these measurements in terms of sine waves (called a Fourier transform) that is very interesting and useful. \n\nIf you are interested, there is a huge amount of information about this on the internet. I did not want to overwhelm you to start, however. It is best to start out really simple and understand the simple case very very well before you move on to more advanced material.
885333
Plain text is the text that can be read by anyone: sender, receiver, or anyone else who gains access to the message.\n\nWhen plain text is codified by using a suitable scheme, cipher text is obtained.\n\nEncryption is the process of convrting plain text to cipher text. It's of 2 main types:\n1) Substituion method- where a character/group of characters is replaced by another character/group of characters to get cipher text. It's of the following types:\n-Ceasar cipher\n-Modified Ceasar cipher\n-Monoalphabetic substitution cipher\n-Polyalphabetic substitution cipher\n-Homophonic substitution cipher\n-Polygram substitution cipher\n\n2) Transposition method-where plain characters are rearranged (permuted) to get cipher text. It's of following types:\n-Rail fence technique\n-Simple columnar transposition technique\n-Vernam cipher
150391
It is a strings proccessing alg which uses a failure function to improve the run time rather than bm alg\nrun time:m+n\nm:the length of the pattern\nn: the length of the text\nwe use tis algorithm to find the pat string in the text string..\nmore details \nmail me at ziko@math.com\ni can provid a pascal source for it
755203
Dear friend,\n\nYou're proposing us the famous Basel Problem, solved by Leonhard Euler in 1735. You should try Euler's approach to the problem, you can see it in the following link:\n\nhttp://en.wikipedia.org/wiki/Basel_problem#Euler_attacks_the_problem\n\nHope I've helped on something, and wish you a nice day!
805322
Symmetric encryption:\n\n1)Speed is fast\n2)Size of cipher text is usually the same or less than that of the plain text\n3)Number of keys used is the square of the number of participants.\n4) Key exchange is a major problem (hence, algorithms like the Diffie-Hellman Key Exchange algorithm are used)\n5) More storage space required\n\nAsymmetric encryption\n\n1) Slower in speed\n2) Cipher text size is usually greater than that of the plain text\n3) Number of keys used is same as the number of participants.\n4) Key exchange is no problem \n5) Less storage space required\n\nHope that helps u..
128434
Try the following link:\n\nhttp://www.cs.bham.ac.uk/~axk/EC_tut2.ppt
111432
In cryptography, the Advanced Encryption Standard (AES), also known as Rijndael, is a block cipher adopted as an encryption standard by the US government, and is expected to be used worldwide and analysed extensively, as was the case with its predecessor, the Data Encryption Standard (DES). It was adopted by National Institute of Standards and Technology (NIST) as US FIPS PUB 197 in November 2001 after a 5-year standardisation process (see Advanced Encryption Standard process for more details).\n\nThe cipher was developed by two Belgian cryptographers, Joan Daemen and Vincent Rijmen, and submitted to the AES selection process under the name "Rijndael", a portmanteau comprised of the names of the inventors. Rijndael can be pronounced "Rhine dahl", a long "i" and a silent "e" (IPA: ). In the sound file linked below, it is pronounced .\nDevelopment\nRijndael was a refinement of an earlier design by Daemen and Rijmen, Square; Square was a development from Shark.\n\nUnlike its predecessor DES, Rijndael is a substitution-permutation network, not a Feistel network. AES is fast in both software and hardware, is relatively easy to implement, and requires little memory. As a new encryption standard, it is currently being deployed on a large scale.\nDescription of the cipher\n\nStrictly speaking, AES is not precisely Rijndael (although in practice they are used interchangeably) as Rijndael supports a larger range of block and key sizes; AES has a fixed block size of 128 bits and a key size of 128, 192 or 256 bits, whereas Rijndael can be specified with key and block sizes in any multiple of 32 bits, with a minimum of 128 bits and a maximum of 256 bits.\n\nThe key is expanded using Rijndael's key schedule.\n\nMost of AES' calculations are done in a special finite field.\n\nAES operates on a 4×4 array of bytes, termed the state (versions of Rijndael with a larger block size have additional columns in the state). For encryption, each round of AES (except the last round) consists of four stages:\n\n   1. SubBytes — a non-linear substitution step where each byte is replaced with another according to a lookup table.\n   2. ShiftRows — a transposition step where each row of the state is shifted cyclically a certain number of steps.\n   3. MixColumns — a mixing operation which operates on the columns of the state, combining the four bytes in each column using a linear transformation.\n   4. AddRoundKey — each byte of the state is combined with the round key; each round key is derived from the cipher key using a key schedule.\n\nThe final round omits the MixColumns stage.\nThe SubBytes step\n\nIn the SubBytes step, each byte in the array is updated using an 8-bit S-box. This operation provides the non-linearity in the cipher. The S-box used is derived from the inverse function over GF(28), known to have good non-linearity properties. To avoid attacks based on simple algebraic properties, the S-box is constructed by combining the inverse function with an invertible affine transformation. The S-box is also chosen to avoid any fixed points (and so is a derangement), and also any opposite fixed points.\n\nThe S-box is more fully described in the article Rijndael S-box.\nThe ShiftRows step\nThe ShiftRows step operates on the rows of the state; it cyclically shifts the bytes in each row by a certain offset. For AES, the first row is left unchanged. Each byte of the second row is shifted one to the left. Similarly, the third and fourth rows are shifted by offsets of two and three respectively. In this way, each column of the output state of the ShiftRows step is composed of bytes from each column of the input state. (Rijndael variants with a larger block size have slightly different offsets).\nThe MixColumns step\n\nIn the MixColumns step, the four bytes of each column of the state are combined using an invertible linear transformation. The MixColumns function takes four bytes as input and outputs
1006176
Generating a Pseudo-Random Number Sequence\n\n#include <stdio.h>\n#include <stdlib.h>\n...\n    long count, i;\n    char *keystr;\n    int elementlen, len;\n    char c;\n...\n/* Initial random number generator. */\n    srand(1);\n\n    /* Create keys using only lowercase characters */\n    len = 0;\n    for (i=0; i<count; i++) {\n        while (len < elementlen) {\n            c = (char) (rand() % 128);\n            if (islower(c))\n                keystr[len++] = c;\n        }\n\n        keystr[len] = '&#92;0';\n        printf("%s Element%0*ld&#92;n", keystr, elementlen, i);\n        len = 0;\n    }\n\n\nGenerating the Same Sequence on Different Machines\n\nstatic unsigned long next = 1;\nint myrand(void)  /* RAND_MAX assumed to be 32767. */\n{\n    next = next * 1103515245 + 12345;\n    return((unsigned)(next/65536) % 32768);\n}\n\nvoid mysrand(unsigned seed)\n{\n    next = seed;\n}\n\n\nRATIONALE\n\nThe ISO C standard rand() and srand() functions allow per-process pseudo-random streams shared by all threads. Those two functions need not change, but there has to be mutual-exclusion that prevents interference between two threads concurrently accessing the random number generator.\n\nWith regard to rand(), there are two different behaviors that may be wanted in a multi-threaded program:\n\nA single per-process sequence of pseudo-random numbers that is shared by all threads that call rand()\n\nA different sequence of pseudo-random numbers for each thread that calls rand()\n\nThis is provided by the modified thread-safe function based on whether the seed value is global to the entire process or local to each thread.\n\nThis does not address the known deficiencies of the rand() function implementations, which have been approached by maintaining more state. In effect, this specifies new thread-safe forms of a deficient function.
774675
the code for the prg is\n\nmain()\n{\nint no1,no2,min,max,i;\nscanf("%d %d", &no1,&no2);\nif (no1<no2)\n{\nmin=no1;\nmax=no2;\n}\nelse\n{\nmin=no2;\nmax=no1;\n}\n\nfor(i=min;i<=max;i++)\nprintf ("%d&#92;n",i);\n\n}
149013
Check out the links on Wikipedia:\n\nhttp://en.wikipedia.org/wiki/Markov_chain\n\nThe one on generating English language is interesting - it is based on one of Claude Shannon's early experiments in entropy.
826399
123 a big big news for you!...\n:)! http://www.osoq.com/funstuff/extra/extra04.asp?strName=123
920772
You can find a lot of details on Cryptography on the below link\nhttp://www.ciphersbyritter.com/LEARNING.HTM\nhttp://en.wikipedia.org/wiki/Cryptography\n\nYou may also like to check the Free tool on Cryptography. (It also provides you Source code for Free download)\nhttp://www.cryptool.com/
526760
go to the source - The Art of Computer Programming by Donald Knuth.  It is the bible of data structures.
1134809
http://www.dcs.bbk.ac.uk/~niki/lecture7.ppt\n\nhttp://www.cs.wpi.edu/~gpollice/cs4233-a05/CourseNotes/pdf/CS4233%20Class%204.pdf
61382
oh crap i know this one    hang on     think think   an algorithm is a repeated process like converting binary to decimal and back.  but i can't think of one for finding the union sorry