• Nem Talált Eredményt

Public-key encryption

N/A
N/A
Protected

Academic year: 2023

Ossza meg "Public-key encryption"

Copied!
19
0
0

Teljes szövegt

(1)

Public-key encryption

- general principles - RSA cryptosystem

- operation

- relation to factoring

- properties of the textbook RSA - PKCS#1

- ElGamal cryptosystem

“The obvious mathematical breakthrough would be development of an easy way to factor large prime numbers.”

-- Bill Gates, The Road Ahead, page 265

Reminder

ƒ

asymmetric-key encryption

– it is hard (computationally infeasible) to compute k’ from k – k can be made public (public-key cryptography)

ƒ

public-keys are not confidential but they must be authentic !

ƒ

most popular public-key encryption methods are several orders of magnitude slower than the best known symmetric key schemes

EE DD

plaintextx

encryption keyk k’

decryption key Ek(x)

ciphertext

Dk’(Ek(x)) = x attacker

Public-key encryption

(2)

© Levente Buttyán 3

Digital enveloping

Public-key encryption

plaintext message

symmetric-key cipher (e.g., in CBC mode)

symmetric-key cipher (e.g., in CBC mode)

public key of the receiver asymmetric-key

cipher asymmetric-key

cipher

digital envelop

generate random symmetric key generate random symmetric key

bulk encryption key

Brief reminder on Complexity Theory

ƒ

class of all problems can be divided into two basic subclasses:

– undecidable problems (e.g., Hilbert’s tenth problem) – decidable problems

• there exist algorithms that solve them

ƒ

algorithms can be classified based on their complexity

– various complexity measures exist

• number of basic operations performed (machine independent Æcommonly used)

• execution time

• amount of memory used

• amount of hardware needed (e.g., number of gates)

– complexity is usually expressed as a function of the input size

• e.g., the complexity of multiplying two n x n matrices is n3

• often, what we are interested in is the asymptotic behavior of the complexity as n Æ

Background

(3)

© Levente Buttyán 5

Brief reminder on Complexity Theory

ƒ

average case vs. worst case behavior of an algorithm

– let Dnbe the set of all input instances of length n – let I ∈Dnand let P(I) be the probability that I occurs – let C(I) be the complexity of the algorithm on input instance I – average case complexity:

for all I ∈DnP(I) C(I) – worst case complexity:

max I ∈DnC(I)

ƒ

complexity of a problem

– true complexity of a problem is the complexity of the most efficient algorithm that solves the problem

– true complexity of many problems is not known

– believed complexity of a problem is the complexity of the best known algorithm that solves the problem

Public-key encryption / Background

Brief reminder on Complexity Theory

ƒ

two important complexity classes:

class P:

– problems solvable with an algorithm that is deterministic and p- time bounded

• asymptotic worst case complexity is a polynomial function of the input length n

class NP:

– problems solvable with an algorithm that is non-deterministic and run in p-time on a non-deterministic machine

– problems in NP have no known deterministic p-time algorithms

• asymptotic worst case complexity of the most efficient algorithms known is often an exponential function of the input length n

– however, a solution to an NP problem can be verified in p-time on a deterministic machine

ƒ

it is conjectured that P

NP, but it has not been proven yet

Public-key encryption / Background

(4)

© Levente Buttyán 7

Brief reminder on Complexity Theory

ƒ

NP-complete problems

– a subset of NP problems such that all problems in NP reduces to them

– if there is a p-time deterministic algorithm for an NP-complete problem, then there is a p-time deterministic algorithm for all NP problems (i.e., P = NP)

– the hardest problems in NP

Public-key encryption / Background

Examples

ƒ

factoring problem

– given a positive integer n, find its prime factors

• true complexity is unknown

• it is believed that it does not belong to P

ƒ

discrete logarithm problem

– given a prime p, a generator g of Zp*, and an element y in Zp*, find the integer x, 0 ≤x ≤p-2, such that gxmod p = y

• true complexity is unknown

• it is believed that it does not belong to P

ƒ

Diffie-Hellman problem

– given a prime p, a generator g of Zp*, and elements gxmod p and gymod p, find gxymod p

• true complexity is unknown

• it is believed that it does not belong to P

Background

(5)

© Levente Buttyán 9

RSA (Rivest-Shamir-Adleman) cryptosystem

ƒ

key generation

– select p, q large primes (about 500 bits each) – n = pq, φ(n) = (p-1)(q-1)

– select e such that 1 < e < φ(n) and gcd(e, φ(n)) = 1

– compute d such that ed mod φ(n) = 1 (this is easy if φ(n) is known) – the public key is (e, n)

– the private key is d

ƒ

encryption

– represent the message as an integer m in [0, n-1]

– compute c = memod n

ƒ

decryption

– compute m = cdmod n

Public-key encryption / RSA

Proof of RSA decryption

ƒ

c

d

mod n = m

ed

mod n = m

kφ(n) + 1

mod n = m m

k(p-1)(q-1)

mod n

ƒ

since m < n, it is enough to prove that m m

k(p-1)(q-1)

m (mod n)

ƒ

Fermat theorem

– if r is a prime and gcd(a, r) = 1, then ar-1≡1 (mod r)

ƒ

if gcd(m, p) = 1

– mp-1≡1 (mod p) – m mk(p-1)(q-1)≡m (mod p)

ƒ

if gcd(m, p) = p

– p | m

– m mk(p-1)(q-1)≡m ≡0 (mod p)

ƒ

for all m, m m

k(p-1)(q-1)

m (mod p)

ƒ

similarly, for all m, m m

k(p-1)(q-1)

m (mod q)

ƒ

p, q | m m

k(p-1)(q-1)

- m

ƒ

m m

k(p-1)(q-1)

m (mod pq)

Public-key encryption / RSA

(6)

© Levente Buttyán 11

Euclidean algorithm

ƒ given two integers a and b (a > b), we want to compute their gcd

ƒ perform the following sequence of (modular) divisions:

a = q1b + r2 (0 < r2< b) b = q2r2+ r3 (0 < r3< r2) r2= q3r3+ r4 (0 < r4< r3)

… …

rk-2= qk-1rk-1+ rk (0 < rk< rk-1) rk-1= qkrk

ƒ then we have

gcd(a, b) = gcd(b, r2) = gcd(r2, r3) = … = gcd(rk-1, rk) = rk

ƒ example: gcd (76, 28) = ? 76 = 2x28 + 20 28 = 1x20 + 8 20 = 2x8 + 4

8 = 2x4 Æ gcd(76, 28) = 4

Public-key encryption / RSA

Extended Euclidean algorithm

ƒ

the Euclidean algorithm can be used to determine if b has an inverse mod a (gcd(a, b) = 1 ?)

ƒ

but it does not give us the inverse of b

ƒ

extend the algorithm as follows:

t

0

= 0, t

1

= 1 a = q

1

b + r

2

t

2

= t

0

q1

t

1

mod a b = q

2

r

2

+ r

3

t

3

= t

1

q2

t

2

mod a r

2

= q

3

r

3

+ r

4

t

4

= t

2

q3

t

3

mod a

… …

r

k-2

= q

k-1

r

k-1

+ r

k

t

k

= t

k-2

qk-1

t

k-1

mod a r

k-1

= q

k

r

k

RSA

(7)

© Levente Buttyán 13

Extended Euclidean algorithm

Theorem: r

j

t

j

b (mod a) Proof:

– convention: r0= a, r1= b – a = r0≡t0b = 0 (mod a) – b = r1≡t1b = b (mod a)

– let’s assume that rj-1≡tj-1b (mod a) and rj-2≡tj-2b (mod a) – rj= rj-2– qj-1rj-1

tj-2b - qj-1tj-1b ≡ (tj-2- qj-1tj-1)b≡ tjb (mod a)

Corollary: if gcd(a, b) = r

k

= 1, then t

k

b

1 (mod a), and therefore t

k

is the inverse of b (mod a).

Public-key encryption / RSA

Extended Euclidean Algorithm

ƒ

example: 28

-1

= ? (mod 75)

75 = 2x28 + 19 t

2

= 0 –

2x1 (mod 75) = 73

28 = 1x19 + 9 t

3

= 1 –

1x73 (mod 75) = 3

19 = 2x9 + 1 t

4

= 73 –

2x3 (mod 75) = 67

9 = 9x1

Æ

gcd(75, 28) = 1

Æ

28

-1

(mod 75) = 67

Public-key encryption / RSA

(8)

© Levente Buttyán 15

Implementing RSA – Computing d

ƒ

d can be computed using the extended Euclidean algorithm

ƒ

complexity:

– let k be the length of n in bits (k = [log2n] + 1) – adding two k-bit integers: O(k)

– multiplication of two k-bit integers: O(k2) – reduction modulo n of a 2k-bit integer: O(k2) – modular multiplication of two k-bit integers: O(k2) – complexity of each step of the Euclidean algorithm: O(k2) – number of iterations in the Euclidean algorithm: O(k) – complexity of computing d: O(k3)

Public-key encryption / RSA

Implementing RSA – Modular exponentiation

ƒ

naïve approach:

– mxmod n = m⋅m⋅m⋅…⋅m mod n

– complexity of x-1 modular multiplication is O(xk2)

– unfortunately x can be as big as φ(n)-1, hence x ~ O(n) = O(2k) – complexity of the naïve approach is O(2k)

RSA

(9)

© Levente Buttyán 17

Implementing RSA – Modular exponentiation

ƒ there’s a better method for modular exponentiation – x = bk-12k-1+ bk-22k-2+…+ b12 + b0

– mx= mb0(mx1)2where x1= (x-b0)/2 = bk-12k-2+ bk-22k-3+…+ b1

– mx1= mb1(mx2)2where x2= (x1-b1)/2 = bk-12k-3+ bk-22k-4+…+ b2 – …

– mxk-3= mbk-3(mxk-2)2where xk-2= (xk-3-bk-3)/2 = bk-12 + bk-2 – mxk-2= mbk-2(mxk-1)2where xk-1= (xk-2-bk-2)/2 = bk-1 – mxk-1= mbk-1

ƒ “square and multiply” algorithm

c = 1

for i = k-1 to 0 do c = c2 mod n

if bi = 1 then c = c⋅m mod n end for

output c = mx mod n

ƒ complexity:

– k modular squaring (multiplication) – at most k modular multiplication

– complexity of the clever approach is O(k⋅k2) = O(k3)

Public-key encryption / RSA

RSA toy example

ƒ key generation – let p = 73, q = 151 – n = 73*151 = 11023 φ(n) = 72*150 = 10800 – let e = 11

– compute d with the extended Euclidean algorithm as follows:

10800 = 981x 11 + 9 t2= 0 –981x1 mod 10800 = 9819 11 = 1x9 + 2 t3= 1 –1x9819 mod 10800 = 982

9 = 4x2 + 1 t4= 9819 –4x982 = 5891 Æd = 5891 – public key is (11, 11023), private key is 5891

ƒ encryption – let m = 17

– we compute c with the “square and multiply” algorithm as follows:

e = 11 = 1011 (in binary) c = 1

b3= 1 Æc = c2m mod n = 17 b2= 0 Æc = c2mod n = 289

b1= 1 Æc = c2m mod n = 1419857 mod 11023 = 8913 b0= 1 Æc = c2m mod n = … = 1782

output c = 1711mod 11023 = 1782

ƒ decryption

– d = 5891 = 1011100000011 (in binary)

– we compute m = cdmod n with the “square and multiply” algorithm as above

Public-key encryption / RSA

(10)

© Levente Buttyán 19

Implementing RSA – Primality testing

ƒ

what is the probability of the event that a randomly selected large integer is prime?

– prime number theorem:

number of primes smaller than n is approximately Π(n) ~ n/ln(n) – corollary:

probability that a randomly selected k-bit long integer is prime is Π(2k)-Π(2k-1) 1

2k-2k-1 (k-1)ln(2) – example:

k = 512, probability is 1/354 = 0.0028

if we consider only randomly selected odd integers, then the probability is 1/177

ƒ

how can we know if a given integer is prime or not?

– PRIME is in P (there is a polynomial time deterministic decision algorithm)

– in practice, people use probabilistic primality testing algorithms

Public-key encryption / RSA

~

Implementing RSA – Fermat-test

ƒ

Fermat theorem:

if p prime and gcd(b, p) = 1, then b

p-1

1 (mod p)

ƒ

a composite number n is pseudo-prime for a base b if b

n-1

1 (mod n)

where 1 < b < n and gcd(b, n) = 1

ƒ

testing approach

– choose a random base b, and check if bn-1≡1 (mod n) holds – if not, then n is composite

– if yes, then n may be prime and we need to test it further with other bases

– if n passes the test for many bases, then we accept it as a prime – this is a Monte Carlo algorithm

• the algorithm always gives an answer

• the answer may be wrong with some probability ε

ƒ

what is the probability of a false answer?

RSA

(11)

© Levente Buttyán 21

Implementing RSA – Fermat-test

ƒ

bad news:

– there exist composite numbers that always pass the Fermat-test (for every possible base)

– these are called Carmichael-numbers, and they are quite rare – example: 561

ƒ

good news:

– if n is composite and not a Carmichael number, then n passes the test for at most half of the possible bases

– if we run T tests, and n passes all of them, then the probability of error is upper bounded by 2-T

– error probability can be made arbitrarily low

Public-key encryption / RSA

Implementing RSA – Fermat-test

ƒ if n passes the test for base b, then it passes the test for base b-1:

(b-1)n-1= (bn-1)-1= 1-1= 1 (mod n)

ƒ if n passes the test for bases b1and b2, then it passes it for b1b2too:

(b1b2)n-1= b1n-1 b2n-1= 1⋅1 = 1 (mod n)

ƒ let B = {b1, b2, …, bs} be the set of bases for which n passes the test

ƒ let b’ be a base for which n doesn’t pass the test (such b’ exists because n is not Carmichael number)

ƒ consider b’B = {b’b1mod n, b’b2mod n, …, b’bsmod n}

– n cannot pass the test for b’bimod n, since otherwise it would pass it for b’bibi-1mod n = b’

– all b’bimod n are different, since otherwise

• if b’bimod n = b’bjmod n, then n | b’(bi- bj)

• gcd(b’, n) = 1, thus, n | (bi- bj)

• this is possible only if bi= bj, since bi< n and bj< n

ƒ n does not pass the test for at least as many bases as it passes

Public-key encryption / RSA

(12)

© Levente Buttyán 23

Relation to factoring

ƒ

the problem of computing d from (e, n) is computationally equivalent to the problem of factoring n

– if one can factor n, then he can easily compute d – if one can compute d, then he can efficiently factor n

ƒ

the problem of computing m from c and (e, n) (RSA problem) is believed to be computationally equivalent to factoring

– if one can factor n, then he can easily compute m from c and (e, n) – there’s no formal proof for the other direction

ƒ

given the latest progress in developing algorithms for

factoring, the size of the modulus should at least be 1024 bits

Public-key encryption / RSA

Chinese remainder theorem

ƒ let m1, m2, …, mrbe pairwise relatively prime positive integers

ƒ consider the following set of congruences:

x ≡a1(mod n1) x ≡a2(mod n2)

x ≡ar(mod nr)

ƒ there’s a unique solution for x modulo N = n1n2…nr: x = a1N1y1+ a2N2y2+ … + arNryrmod N where Ni= N/niand yi= Ni-1(mod ni)

ƒ it is easy to verify that a1N1y1+ a2N2y2+ … + arNryr≡aj(mod nj) – if i j, then nj| aiNiyi= a1n1...nj…nry1

– if i = j, then ajNjyj= ajNjNj-1(mod nj) = aj(mod nj)

ƒ uniqueness (mod N):

– assume that there are two solutions x and x’

– n1, n2, …, nr| x - x’ Æ N | x – x’

– since –N < x-x’ < N, it follows that x = x’

RSA

(13)

© Levente Buttyán 25

Factoring n

if one can compute d from (e, n), then he can efficiently factor n

ƒ

approach

– let A be the algorithm that computes d from (e, n)

– we construct another algorithm B that uses A as a subroutine, and factors n

– B will be a Las Vegas algorithm

• the algorithm may fail to give an answer (factor n) with probability ε

• however, if it gives an answer then the answer is correct – such an algorithm should be run several times until it finds an

answer

– the probability that the algorithm fails m consecutive times is εm, and thus, can be arbitrarily small as m grows

– the average number of times it needs to be run to find an answer is 1/(1-ε)

Public-key encryption / RSA

Square roots of 1 modulo n=pq

ƒ x2≡1 (mod p) has two solutions x ≡±1 (mod p)

ƒ x2≡1 (mod pq) if and only if x2≡1 (mod p) and x2≡1 (mod q)

ƒ this means that x ≡±1 (mod p) and x ≡±1 (mod q)

ƒ there are four square roots of 1 (mod pq) and they can be found with the Chinese remainder theorem (if p and q are known)

– for instance solving x ≡1 (mod p) x ≡1 (mod q)

gives one of the square roots

– two out of the four square roots are trivial: x = 1 and x = -1 – the other two are non-trivial

– example:

• n = 13x31 = 403

• square roots of 1 (mod 403) are 1, 92, 311 = -92, 402 = -1

ƒ if x is a non-trivial square root, then pq | x2– 1 = (x-1)(x+1), but pq does not divide (x-1) and (x+1)

ƒ this is only possible if p | x-1 and q | x+1, or vice versa

ƒ thus, gcd(x+1, pq) = q (or p)

ƒ given a non-trivial square root of 1 (mod pq), one can use the Euclidean algorithm to find p and q !!!

Public-key encryption / RSA

(14)

© Levente Buttyán 27

Factoring algorithm B

1. choose w at random (0 < w < n) 2. compute x = gcd(w, n)

3. if x > 1 then stop (success: x = p or x = q) 4. compute d = A(e, n)

5. write ed – 1 = 2sr, where r is odd 6. compute v = wr mod n

7. if v ≡ 1 (mod n) then stop (failure) 8. while v !≡ 1 (mod n) do

9. t = v

10. v = v2 mod n 11.end while

12.if t ≡ -1 (mod n) then stop (failure: t is a trivial root) 13.else

14. compute x = gcd(t+1, n)

15. stop (success: x = p or x = q)

Public-key encryption / RSA

Analysis of algorithm B

ƒ

choose a random w (w < n)

[step 1]

ƒ

if you are lucky, then w divides n, and thus, it is equal to p or q

[steps 2 and 3]

ƒ

otherwise, the algorithm computes w

r

, w

2r

, w

4r

, …

[step 10 within the while loop]

ƒ

the computation stops, when w

2zr

1 (mod n) for some z

[condition in step 8]

– since w2sr= wed-1= wkφ(n)≡1 (mod n), the while loop ends after at most s iterations

ƒ

after the while loop, t

2

1 (mod n) and we know that t !≡ 1 (mod n), since otherwise the while loop would have been ended in the previous round (and we wouldn’t have computed t

2

)

ƒ

if t

-1 then t is a trivial square root of 1 (mod n)

[step 12]

ƒ

otherwise t is a non-trivial square root of 1 (mod n) and we can factor n with the Euclidean algorithm

[step 14]

ƒ

it can be proven that the failure probability of the algorithm is at most ½

RSA

(15)

© Levente Buttyán 29

Unconcealed messages

ƒ

a message is unconcealed if it encrypts to itself (i.e., if m

e

mod n = m)

ƒ

trivial examples for unconcealed messages are m = 0, m = 1, and m = n-1

ƒ

the exact number of unconcealed messages is (1 + gcd(e-1, p-1))(1 + gcd(e-1, q-1))

– if p, q, and e are selected at random (or e is small such as e = 3), then the number of unconcealed messages is negligibly small

Public-key encryption / RSA

Small encryption exponent e

ƒ

to improve efficiency of encryption, it is desirable to select a small exponent e (e.g., e = 3 is typical)

ƒ

a group of entities may use the same exponent, but different moduli (e.g., e = 3, and n

1

, n

2

, …)

ƒ

in this case, an attacker may find a plaintext m efficiently, if m is sent to several (at least 3) recipients:

– assume that the attacker observes ci= m3mod ni(i = 1,2,3) – let x = m3

– the attacker must solve for x the following system of congruences:

x ≡c1(mod n1) x ≡c2(mod n2) x ≡c3(mod n3)

– Chinese remainder theorem: if n1, n2, …, nkare pairwise relatively primes, then such a system has a unique solution (mod n1⋅n2⋅… ⋅nk) – since m3< n1⋅n2⋅n3the solution found must be m3

– the attacker then computes the cube root of m3to get m

Public-key encryption / RSA

(16)

© Levente Buttyán 31

Salting

ƒ

appending a (pseudo) random bit string to the plaintext prior to encryption

ƒ

salting is a solution to the small exponent problem

– even if the same message m has to be sent to many recipients, the actual plaintext that is encrypted will be different for everyone due to salting

ƒ

another problem of small exponents where salting helps

– if m < n1/e, then me< n, and hence c = me

– m can be computed from c by taking the ethroot of c

– salting helps, because it increases the plaintext so that it becomes larger then n1/e

ƒ

it is also good for preventing forward search attacks

– if the message space is small and predictable, then an attacker can pre-compute a dictionary by encrypting all possible plaintexts – salting increases the number of possible plaintexts and makes pre-

computing a dictionary harder

Public-key encryption / RSA

Homomorphic property

ƒ if m1and m2are two plaintext messages and c1and c2are the corresponding ciphertexts, then the encryption of m1m2mod n is c1c2 mod n

– (m1m2)em1e m2ec1c2 (mod n)

ƒ this leads to an adaptive chosen-ciphertext attack on RSA

– assume that the attacker wants to decrypt c = memod n intended for Alice

– assume that Alice will decrypt arbitrary ciphertext for the attacker, except c

– the attacker can select a random number r and submit c⋅remod n to Alice for decryption

– since (c⋅re)dcd⋅redm⋅r (mod n), the attacker will obtain m⋅r mod n – he then computes m by multiplication with r-1(mod n)

ƒ this attack can be circumvented by imposing some structural constraints on plaintext messages

– e.g., a plaintext must start with a well-known constant bit string – since r is random, m⋅r (mod n) will not have the right structure with very

high probability, and Alice can refuse to respond

RSA

(17)

© Levente Buttyán 33

RSA encryption in practice: PKCS #1

ƒ

PKCS1 v1.5 encoding

ƒ

PKCS1 v2.0 encoding

Public-key encryption / RSA

0x00 0x02 at least 8 non-zero

random bytes 0x00 message to be encrypted

message to be encrypted some 0x00

bytes hashed

label

masked message random

seed

masked 0x00 seed

MGFMGF MGFMGF

+ +

0x01

Bleichenbacher’s attack on PKCS1 v1.5

ƒ

adaptive chosen ciphertext attack

ƒ

the goal is to decrypt a message with the help of an oracle that

– inputs an arbitrary message

– decrypts it

– verifies PKCS formatting

– responds with 1 if the obtained plaintext is PKCS conform, and 0 otherwise

ƒ

the attack needs ~2

20

oracle call only

ƒ

details can be found in the handwritten notes

Public-key encryption / RSA

(18)

© Levente Buttyán 35

ElGamal cryptosystem

ƒ

key generation

– generate a large random prime p and choose generator g of the multiplicative group Zp*= {1, 2, …, p-1}

– select a random integer a, 1 ≤a ≤p-2, and compute A = gamod p – the public key is (p, g, A)

– the private key is a

ƒ

encryption

– represent the message as an integer m in [0, p-1]

– select a random integer r, 1 ≤r ≤p-2, and compute R = grmod p – compute C = m⋅Armod p

– the ciphertext is the pair (R, C)

ƒ

decryption

– compute m = C⋅Rp-1-amod p

ƒ

proof of decryption

C⋅Rp-1-a≡m⋅Ar⋅Rp-1-a≡m⋅gar⋅gr(p-1-a)≡m⋅(gp-1)r≡m (mod p)

Public-key encryption / ElGamal

Relation to hard problems

ƒ

security of the ElGamal scheme is said to be based on the discrete logarithm problem in Z

p*

, although equivalence has not been proven yet

ƒ

recovering m given p, g, A, R, and C is equivalent to solving the Diffie-Hellman problem

ƒ

given the latest progress on the discrete logarithm problem, the size of the modulus p should at least be 1024 bits

ElGamal

(19)

© Levente Buttyán 37

Notes on the ElGamal scheme

ƒ

encryption requires two modular exponentiations, whereas decryption requires only one

ƒ

encrypted message is twice as long as the plaintext (message expansion)

ƒ

all entities in a system may choose to use the same prime p and generator g

– size of the public key is reduced

– encryption can be speed up by pre-computation

Public-key encryption / ElGamal

Exercise

ƒ

Show that in case of the ElGamal cryptosystem, it is crucial that different random integers r be used to encrypt different messages.

Public-key encryption / ElGamal

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

If it does occur in intact cells, it is conceivable that the cross-linking reflects repair by dark enzymes that are still attached to the D N A at the time of extraction..

This explains, parenthetically, why u.v.-induced zero point and delayed mutations in bacteria and extra- chromosomal mutations are qualitatively similar, if it is assumed that

For example, the long wave response (photoconduction) of the ß-carotene cell disappeared on removing the applied potential but the short wave response (photovoltaic

The intermittent far-red irradiation for 26 h partially satisfies the high-energy reaction, and the terminal exposure to red light then allows P f r action, giving a

Flowering of plants growing in short days can be produced by either the phytochrome system—a night break of red or white light in the middle of the dark period, or the

In reply to the former question Z i r k l e stated that the site of irradiation was routinely selected to be as close as possible to the spindle fibres without actually

Other hypotheses (summaries in refs. 1, 2) suppose that the whole core consists of rock and that the boundary of the inner core is a result of a change in phase of the

A Java application is presented which allows the encryption and decryption of plaintext based on the generated Catalan-key and combinatorial problem of movement in integer network