|
Network Working Group Request for Comments #70 |
S. Crocker UCLA |
A Note on Padding
x
\__ __/\__ __/
V V
n-k-1 k
W-1 = x....x01....1
_ _
-W = x....x10....0
_ _ _
W = x....x01....1
[Page 1]
W AND W-1 xx...x00....0
\__ __/\__ __/
V V
n-k-1 k
__ __/__ __/
V V
n-k-1 k
*Some of the CDC machines have a "population count" instruction which
k
[Page 2]
Let n = 8 and p = 11
Then
0
mod(2, 11) = 1
1
mod(2, 11) = 2
2
mod(2, 11) = 4
3
mod(2, 11) = 8
4
mod(2, 11) = 5
5
mod(2, 11) = 10
6
mod(2, 11) = 9
7
mod(2, 11) = 7
This yields a table of the form
remainder bit position
0 --
1 0
2 1
3 --
4 2
5 4
6 --
7 7
8 3
9 6
10 5
[Page 3]
n-1 n
2, the correspondence table is either 2 or 2 in length. We can
p R(p) p R(p)
1 1 13 12
3 2 15 4
5 4 17 8
7 3 19 18
9 6 21 6
11 10
[Page 4]
p R(p) p R(p)
1 1 29 28
3 2 37 36
5 4 53 52
9 6 59 58
11 10 61 60
13 12 67 66
19 18 83 82
25 20
0
mod(2 ,p)
1
mod(2 ,p)
.
.
.
t
k t
will be a repeated remainder, so that for some k < t, 2 = 2 mod p.
t+1 k+1
Since 2 = 2 mod p
t+2 k+2
and 2 = 2 mod p
.
.
.
etc.
0 t-1
all of the distinct remainders occur for 2 ...2 . Therefore, R(p)=t.
[Page 5]
R(p)
2 = 1 mod p
R(p) k
We already know that 2 = 2 mod p
k+j k
2 = 2 mod p
j k k
or 2 *2 = 2 mod p
j k
or (2 -1)*2 = 0 mod p
k j
j
2 -1 = 0 mod p
j
2 = 1 mod p
k 0
2 = 2 mod p,
R(p)
R(p)
2 = 1 mod p.
q
p = p'*2 ,
k k k
k q k-q
mod(2 ,p) = 2 *mod(2 ,p').
[Page 6]
R(p) ~ p,
0
CALL IASSGN('OC ',56)
1 FORMAT(I3,I5)
M=0
DO 100 K=1,100,2
K=1
L=0
20 L=L+1
N=MOD(2*N,K)
IF(N.GT.1) GO TO 20
IF(L.LE.M) GO TO 100
M=L
WRITE(56,1)K,L
100 CONTINUE
STOP
END
Fortran program to computer useful divisors
[Page 7]
n n n
Let p = p 1 * p 2 ... p k
1 2 k
k -1 k -1 k -1
phi(p) = (p - 1) * p 1 * (p - 1) * p 2 ... (p - 1) * p k
1 1 2 2 k k
phi(p) = p-1.
phi(m)
a = 1 mod p.
p p
Ord 2
2 p = 1 mod p
[Page 8]
[ This RFC was put into machine readable form for entry ] [ into the online RFC archives by Guillaume Lahaye and ] [ John Hewes 6/97 ]
[Page 9]