Professional Documents
Culture Documents
Abstract—The RSA public-key cryptosystem is an algorithm Through advances in molecular biology [1], it is now pos-
that converts input data to an unrecognizable encryption and sible to produce roughly 10 DNA strands that fit in a test tube.
converts the unrecognizable data back into its original decryption Those 10 DNA strands can also be applied to represent 10
form. The security of the RSA public-key cryptosystem is based on
the difficulty of factoring the product of two large prime numbers. bits of information. In the future (perhaps after many years) if bi-
This paper demonstrates to factor the product of two large prime ological operations can be applied to deal with a tube with 10
numbers, and is a breakthrough in basic biological operations DNA strands and they are run without errors, then 10 bits of
using a molecular computer. In order to achieve this, we propose information can simultaneously be correctly processed. Hence,
three DNA-based algorithms for parallel subtractor, parallel in the future, it is possible that biological computing can provide
comparator, and parallel modular arithmetic that formally verify
our designed molecular solutions for factoring the product of two a huge amount of parallelism for dealing with many computa-
large prime numbers. Furthermore, this work indicates that the tionally intensive problems in the real world.
cryptosystems using public-key are perhaps insecure and also The fastest super computers currently available can execute
presents clear evidence of the ability of molecular computing to approximately 10 integer operations per second. This implies
perform complicated mathematical operations. that 128 10 bits of information can be simultaneously
Index Terms—Biological parallel computing, DNA-based algo- processed in a second. The fastest super computers can process
rithms, DNA-based computing, factoring integers, RSA public-key 128 10 bits of information in 1000 seconds. The extract
cryptosystem. operation is one of basic biological operations of the longest
execution time. An extract operation could be approximately
I. INTRODUCTION done in 1000 s [12]. In the future, if an extract operation can
be used to deal with a tube with 10 DNA strands and it is run
F. Comparisons of Various Famous DNA Models eral H systems, and by Hubert and Schuler [45]. Barua et al.
[31] proposed a recursive DNA algorithm for adding two binary
Based on solution space of splint in the Adleman–Lipton
numbers, which require biosteps using only dif-
model, their methods [7], [17]–[20], [35] could be applied toward
ferent type of DNA strands, where is the size of the binary
solving the traveling salesman problem, the dominating-set
string representing the larger of the two numbers.
problem, the vertex cover problem, the clique problem, the inde-
Adleman et al. [14] proposed a sticker-based model to
pendent-set problem, the three-dimensional matching problem,
enhance the error rate of hybridization in the Adleman–Lipton
the set-packing problem, the set-cover problem, and the problem
model. Their model can be used for determining solutions of
of exact cover by three-sets. Lipton et al. [51] indicated that
an instance in the set cover problem. Simultaneously, Adleman
DNA-based computing had been shown to easily be capable
et al. [52] also pointed out that the data encryption standard
of breaking the data encryption standard from solution space of
could be easily broken from solution space of stickers in the
splint. The methodsused for solving problems have exponentially
sticker-based model. Perez-Jimenez et al. [15] employed the
increased volumes of DNA and linearly increased the time.
sticker-based model [14] to resolve knapsack problems. In
Bach et al. [33] proposed a volume, time
our previous work, Chang et al. [25], [32], [36], [53] also
molecular algorithm for the three-coloring problem and a
employed the sticker-based model and the Adleman–Lipton
volume, time molecular algorithm for the independent
model for dealing with Cook’s theorem [9], [10], the set-split-
set problem, where and are, subsequently, the number of ver-
ting problem, the subset-sum problem, and the dominating-set
ticesandthenumberofedgesintheproblemsresolved.Fu[21]pre-
problem for decreasing the error rate of hybridization.
sented a polynomial-time algorithm with a volume for the
three-SAT problem, a polynomial-time algorithm with a
III. FACTORING THE PRODUCT OF TWO LARGE PRIME
volume for the three-coloring problem, and a polynomial-time al-
NUMBERS OF BITS
gorithm with a volume for the independent set. Though the
size of those volumes [21], [33] is lower, constructing those vol- A. RSA Public-Key Cryptosystem
umes is more difficult and the time complexity is higher. In the RSA cryptosystem [34], a participant creates his public
Quyang et al. [4] showed that enzymes could be used to solve and secret keys with the following steps. The first step is to select
the NP-complete clique problem. Because the maximum number at random two large prime numbers and , assuming that the
of vertices that they can process is limited to 27, the maximum length of and are both bits. The second step is to compute
number of DNA strands for solving this problem is 2 [4]. Shin by the equation . The third step is to select a small
et al. [8] presented an encoding scheme for decreasing the error odd integer that is relatively prime to , which is equal
rate of hybridization. This method [8] can be employed toward to . The fourth step is to compute as the
ascertaining the traveling salesman problem for representing multiplicative inverse of , module . The fifth step is to
integers and real values with fixed-length codes. Arita et al. [5] publish the pair as his RSA public key. The sixth
and Morimoto et al. [6] proposed a new molecular experimental step is to keep secret the pair as his secret key. A
technique and a solid-phase method to find a Hamiltonian path. method to factor as in a reasonable amount of time has
Amos [13] proposed a parallel filtering model for resolving the not been found.
Hamiltonian path problem, the subgraph isomorphism problem,
the three-vertex-colorability problem, the clique problem, and B. Solution Space of DNA Strands for Every Unsigned Integer
the independent-set problem. The methods in [5], [6], and [13] of Bits
have lowered the error rate in real molecular experiments. In Suppose that an unsigned integer of bits is represented
[26], [27], and [30], the methods for DNA-based computing by as a -bit binary number, , where the value of each
self-assembly require the use of DNA nanostructures, called tiles, bit is either one or zero for . The bits and
to own expressive computational power and convenient input and represent, respectively, the most significant bit and the least
output (I/O) mechanisms. That is, DNA tiles have lower error rate significant bit for . The range of the value to an unsigned
in self-assembly. integer of bits is from 0 to . From [22], [46], for every
One of the earliest attempts to perform arithmetic operations bit , two distinct 15 base value sequences are designed. One
(addition of two positive binary numbers) using DNA is by represents the value zero for and the other represents the
Guarneiri et al. [38], utilizing the idea of encoding differently value one for . For convenience, we assume that denotes
bit values zero and one as single-stranded DNAs, based upon the value of to be one and defines the value of to be
their positions and the operands in which they appear. Gupta zero. The following algorithm is used to construct the solution
et al. [39] performed logic and arithmetic operations using the space of DNA strands for different unsigned integer values.
fixed bit encoding of the full corresponding truth tables. Qiu and
Lu [40] applied substitution operation to insert results (by en- Procedure InitialSolution(T )
coding all possible outputs of bit by bit operation along with (1) For j = k down to 1
second operand) in the operand strands. Ogihara and Ray [41], (1a) Amplify(T , T , T ).
as well as Amos and Dunne [42] proposed methods to realize (1b) Append(T , m ).
any Boolean circuit (with bounded fan in) using DNA strands (1c) Append(T , m ).
in a constructive fashion. Other new suggestions to perform all (1d) T = [(T ; T ).
basic arithmetic operations are by Atanasiu [43] using P sys- EndFor
tems and by Frisco [44] using splicing operation under gen- EndProcedure
CHANG et al.: FAST PARALLEL MOLECULAR ALGORITHMS FOR DNA-BASED COMPUTATION: FACTORING INTEGERS 153
TABLE I TABLE II
RESULT FOR TUBE T IS GENERATED BY THE ALGORITHM RESULT FOR TUBE T IS GENERATED BY THE ALGORITHM
INITIALSOLUTION(T ) INITIALPRODUCT(T )
0(T ; n ). 0(T ; n ).
Consider that the first execution for the algorithm (3) For j = o to k + o d 0
(3a) OneBitComparator(T ; T ; T ; d; o; j ).
OneBitComparator is invoked. The
(3b) If (Detect(T ) = “no”) then
values for , and are, respectively, one, one, and one. Tube
(3c) Terminate the algorithm.
, tube
EndIf
EndFor
EndProcedure
Consider that the first execution for the algorithm
ParallelComparator is invoked. The
tube , and three tubes are regarded as input tubes. After values for and are, respectively, one and one. Tube
each operation in the algorithm is performed, the result is shown
in Table III. Lemma 3 is used to show correction of the algorithm
OneBitComparator .
Lemma 3: The algorithm OneBitCompara-
tor can be applied to perform the
function of a 1-bit parallel comparator. tube , tube , tube , and four tubes
Proof: The algorithm OneBitCompara- are regarded as input tubes. Because the value for the upper
tor is implemented by the extract bound in Step (1) is zero, Steps (1a) through (1e) are not run.
and merge operations. The execution of Step (1) employs After the first execution for Step (2), Step (3a) and Step (3b)
the extract operation to form two test tubes: and . is finished, a “no” is returned from Step (3b). Therefore, the
The first tube includes all of the strands that have algorithm is terminated from Step (3c). The result is shown in
. The second tube consists Table IV. Lemma 4 is used to show correction of the algorithm
of all of the strands that have . ParallelComparator .
Next, on the execution of Step (2), it also uses the extract Lemma 4: The algorithm ParallelComparator
operation to form two test tubes: and . The first tube can be used to finish the function of a -bit
includes all of the strands that have parallel comparator.
CHANG et al.: FAST PARALLEL MOLECULAR ALGORITHMS FOR DNA-BASED COMPUTATION: FACTORING INTEGERS 155
tains the strands that have the comparative result (“=”) for the
0
(3) T = +(T ; m ) and T = (T ; m ).
the th compare and shift operations. Step (2) uses the merge op-
(5) T = +(T ; b ) and T = (T ; b 0 ).
the difference bit and the borrow bit to the subtraction of a bit. TABLE VI
A value sequence for every output bit contains 15 bases. There- RESULT IS GENERATED BY PARALLELONEBITSUBTRACTOR(T ; o; q; j )
0
(1) For j = 1 to k d + 1
(1a) ParallelOneBitSubtractor(T ; o; 2 3 0( 0
k o
1)0 0(k d + 1 0
j ); j ) .
TABLE VII
EndFor RESULT IS GENERATED BY BINARYPARALLELSUBTRACTOR(T ; d; o; q )
EndProcedure
until the most significant bit in the minuend and the subtrahend
is processed. Tube contains the strands finishing the sub-
and it is regarded as an input tube. The values for , , and are, traction operations of at most bits.
respectively, one, three, and two. Because the value of the upper From BinaryParallelSubtractor , it takes
bound in Step (1) is three, the algorithm, ParallelOneBitSubtrac- extract operations, append-head op-
tor , in Step (1a) erations, detect operations, merge
will be invoked three times. After the first execution of Step (1a) operations, and 15 test tubes to compute the arithmetic subtrac-
is run, the result for tube is shown in Table VI. Finally, tion of at most bits. The length of a DNA strand, encoding the
after the third execution for Step (1a) is performed, the result is difference bit and the borrow bit for the minuend and the sub-
shown in Table VII. Lemma 6 is applied to prove correction of trahend, is bases.
the algorithm BinaryParallelSubtractor .
Lemma 6: The algorithm BinaryParallelSubtrac- G. The Construction of a Binary Parallel Divider
tor can be applied to finish the function of a A binary parallel divider is a function that performs the arith-
binary parallel subtractor. metic division for a dividend of bits and a divisor of
Proof: Step (1) is the only loop and is mainly used to finish bits for . The quotient obtained from the dividend
the function of a binary parallel subtractor. On the first execu- and the divisor can be at most up to bits long. The re-
tion of Step (1a), it calls the procedure ParallelOneBitSubtractor mainder obtained from the dividend and the divisor can also be
to compute the arith- at most up to bits long. Because we only check whether the re-
metic subtraction of the least significant bit to the minuend and mainder is equal to zero, therefore, the quotient can be ignored.
the subtrahend with the result left in . Step (1a) is repeated The following algorithm is proposed to finish the function of a
158 IEEE TRANSACTIONS ON NANOBIOSCIENCE, VOL. 4, NO. 2, JUNE 2005
binary parallel divider. The second parameter, , in the proce- are not run. A “yes” is returned from the first execution of Step
dure is used to represent the th division operation. (4b), so Steps (5a) through (5d) will be run six times. After each
Procedure BinaryParallelDivider(T ; d)
operation embedded in Step (5) is finished and the first execu-
(1) For o = 1 to k + d tion for Step (6) is also performed, tube , tube ,
(1a0) Append-head(T ; b ).
tube , tube , and tube
(1a) ParallelComparator(T ; T ; T ; T ; d; o).
(1b) T = [ (T ; T ) .
(1c) If (Detect(T ) = “yes”) then
3 0 0 0 0 0
(2) For q = 1 to (2 k ) (o 1) (k d) 1
(2a) T = +(T ;n ) and
T = 0 (T ;n ).
(2a1) If (Detect(T ) = “yes”) then
(2b) Append-head(T ; n ) and
Append-head(T ; b ).
EndIf
Next, the second execution of each operation in the algorithm
(2b1) If (Detect(T ) = “yes”) then
is performed, tube , tube , , tube ,
(2c) Append-head(T ; n ) and
tube , tube , and tube
Append-head(T ; b ).
EndIf
(2d) T 0
= (T ; T ) .
EndFor
(3) BinaryParallelSubtractor(T ; d; o; q ).
3 0 0
(4) For q = (2 k ) (o 1) + 1 to 2 k 3
(4a) Append-head(T ;n ) and
Append-head(T ;b ).
EndFor
EndIf
(4b) If (Detect(T ) = “yes”) then
(5) For q = 1 to 2 k 3
(5a) T = +(T ; n ) and
T 0
= (T ; n ) .
(5a1) If (Detect(T ) = “yes”) then
(5b) Append-head(T ; n ) and
Append-head(T ; b ).
After the third execution for Steps (1a0) through Step (1c) is
EndIf
finished, a “yes” is returned from the third execution of Step
(5b1) If (Detect(T ) = “yes”) then
(1c). Because the value of the upper bound in Step (2) is one,
(5c) Append-head(T ; n ) and
each operation embedded in Step (2) will be run one time. After
those operations embedded in Step (2) are run, tube ,
Append-head(T ; b ).
EndIf
tube , and tube
[
(5d) T = (T ; T ).
EndFor
EndIf
(6) T = (T [ ;T ).
EndFor
EndProcedure
Consider that the first execution for the algorithm
BinaryParallelDivider invokes tube
Next, each execution of Step (5b) uses the append-head opera- Consider that the value for is 001 111. Algorithm 1 is used
tions to append and onto the head of every strand in to factor into three and five. Tube is an empty tube and is
. Each execution of Step (5b1) applies the detect operation to regarded as an input tube for Algorithm 1. After the execution
examine whether tube contains any DNA strand or not. If a for Step (1) is performed, the result for tube is shown in
“yes” is returned, then Step (5c) will be run. Otherwise, that step Table I. Next, after the execution for Step (2) is finished, the
will not be executed. On each execution of Step (5c), it applies result for tube is shown in Table II. Because the value for
the append-head operations to append and onto the is three, each operation embedded in Step (3) will be at most run
head of every strand in . Then, each execution of Step (5d) three times. After the first execution for Step (3a) is performed,
applies the merge operation to pour tubes and into . tube
Tube contains the strands finishing compare, shift, and sub-
tract operations of a bit. Repeat execution of Steps (5a) through
(5d) until the bits are processed. Tube contains the
strands finishing compare, shift, and subtract operations of the
bits for the th compare, shift, and subtract operations to
the comparative result of less than (“ ”).
Next, each execution of Step (6) applies the merge operation and tube
to pour tubes and into . Tube contains the strands
finishing the th compare, shift, and subtract operations of
bits for the comparative results of greater than or equal to or
less than. Repeat execution of the steps above until successive
compare, shift, and subtract operations of at most times
are processed. Tube contains the strands finishing a division
for a dividend of bits and a divisor of bits for . Next, after the first execution of Step (3b) is finished, the result
From BinaryParallelDivider , it takes for tube is shown in Table VIII.
extract operations, Since the value of the upper bound in Step (3c) is three, each
append-head operations, operation embedded in Step (3c) will be at most run three times.
merge operations, Next, after the first execution of Step (3d) is run, tube
detect
operations, and 22 tubes to compute the division operation. The
length of a DNA strand, encoding the difference bits and the
borrow bits, is bases.
(1) InitialSolution(T ).
(2) InitialProduct(T ).
(3) For d = 1 to k
(3a) T = +(T ; m ) and
T 0
= (T ; m ).
(3b) BinaryParallelDivider(T ; d).
(3c) For q = 1 to k d + 10
(3d) T = +(T n ) and
T 0
= (T ; n ).
(3e) Discard(T ).
(3f) If (Detect(T ) = “no”) then
(3g) Terminate the execution of the
second (inner) loop.
EndIf
EndFor
(3h) If (Detect(T ) = “yes”) then
(3i) Read(T ) and then terminate
the algorithm.
EndIf
[
(3j) T = (T ; T ). Next, after the first execution for Step (3e) is performed, tube
EndFor . A “yes” is returned from the first execution of Step
EndAlgorithm (3f), so the first execution for Step (3g) is not run.
CHANG et al.: FAST PARALLEL MOLECULAR ALGORITHMS FOR DNA-BASED COMPUTATION: FACTORING INTEGERS 161
Next, after the rest of operations for Steps (3d) through (3f) After the inner loop is performed, Step (3h) is applied to de-
are performed, tube tect whether contains any DNA strands or not. If it returns a
“yes,” then DNA sequences in represent the remainders that
are equal to zero. Hence, Step (3i) is used to find the answer
(one of two large prime numbers) from . Simultaneously, the
algorithm is terminated. If it returns a “no,” then Step (3j) is
employed to pour tube into tube . This is to say that
reserves the strands that have . Repeat the steps
until the number of the execution of the outer loop is performed.
Finally, the strands in encode every strand that is zero. This
indicates that the only two large prime numbers of bits are in
and tube . A “yes” is returned from the first execution of . Therefore, it is inferred that the difficulty of factoring the
Step (3h). Next, the answer is five from the first execution of Step product of two large prime numbers of bits is solved from
(3i) and Algorithm 1 is terminated from the first execution of Step those steps in Algorithm 1.
(3i). Since one of two primers is five, another primer is equal to
three. Theorem 1 is used to show correction of Algorithm 1. I. Breaking the RSA Public-Key Cryptosystem
Theorem 1: From those steps in Algorithm 1, the difficulty The RSA public-key cryptosystem can be used to encrypt mes-
of factoring the product of two large prime numbers of bits is sages sent between two communicating parties so that an eaves-
solved. dropper who overhears the encrypted message will not be able to
Proof: On the execution of Step (1), it calls decodethem.Assumethattheencryptedmessageoverheardisrep-
InitialSolution to construct solution space of DNA strands resented as (the corresponding cipher-text). An eavesdropper
for every unsigned integer of bits. This means that tube only needs to use the following algorithm to decode them.
includes strands encoding different integer values. Next,
the execution of Step (2) calls InitialProduct to append Algorithm 2: Breaking the RSA Public-key
DNA sequences of encoding , the product of two large prime Cryptosystem
numbers of bits, onto the head of every strand in tube . (1) Call Algorithm 1.
This implies that the front bits and the last bits of (2) Compute the secret key d, from the multi-
every strand in , respectively, represent the dividend and the plicative inverse of
divisor of a division instruction after Step (2) is performed. 0 3 0
e, module (p 1) (q 1) on a classical computer.
Step (3) is two level loops and is mainly used to factor the (3) Decode the messages overheard through the
product of two large prime numbers of bits. On each execu- decryption
tion of Step (3a), it uses the extract operation to form two tubes: function, C (module n) on a classical computer.
and . The first tube includes all of the strands that have EndAlgorithm
. This is to say that the th bit of every
divisor in is equal to one. The second tube consists of Theorem 2: From the steps in Algorithm 2, an eavesdropper
all of the strands that have . This indicates that the can decode the encrypted message overheard.
th bit of every divisor in is equal to zero. Because Proof: Refer to Algorithm 1.
the front bits of every divisor in are all zeros, therefore, the
th division instruction is not applied to compute the remainder J. The Complexity of Algorithm 1
of every strand in . Next, each execution of Step (3b) calls Lemma 8: Suppose that the length of , the product of two
BinaryParallelDivider . The procedure is used to finish a large prime numbers of bits is bits. The difficulty of
division instruction. After Step (3b) is performed, the remainder factoring can be solved with biological operations so-
of every strand in is computed. Step (3c) is the inner loop and lution space of DNA strands.
is mainly employed to judge whether the remainder of a division Proof: Refer to Algorithm 1.
operation is equal to zero. On each execution of Step (3d), it uses Lemma 9: Suppose that the length of , the product of two
the extract operation to form two tubes: and . The first large prime numbers of bits, is bits. The difficulty
tube includes all of the strands that have . This of factoring can be solved with library strands from
means that the th bit of every remainder in is equal to zero. solution space of DNA strands.
The second tube consists of all of the strands that have Proof: Refer to Algorithm 1.
. This implies that the th bit of every remainder Lemma 10: Suppose that the length of , the product of two
in is equal to one. Since the strands in encode every large prime numbers of bits, is bits. The difficulty of
remainder that is not equal to zero, Step (3e) is used to discard factoring can be solved with (1) tubes from solution space
. Then, each execution of Step (3f) applies the detect oper- of DNA strands.
ation to check whether tube contains any DNA strand or not. Proof: Refer to Algorithm 1.
If a “no” is returned, then this indicates that all of the remain- Lemma 11: Suppose that the length of , the product of two
ders in for the th division operation are not equal to zero. large prime numbers of bits, is bits. The difficulty of
Therefore, Step (3g) is employed to terminate the execution of factoring can be solved with the longest library strand, ,
the inner loop. If a “yes” is returned, then repeat the steps until from solution space of DNA strands.
the number of the execution of the inner loop is performed. Proof: Refer to Algorithm 1.
162 IEEE TRANSACTIONS ON NANOBIOSCIENCE, VOL. 4, NO. 2, JUNE 2005
IV. DISCUSSION the product of two large prime numbers is the basis of cryp-
tosystems using public key. However, the property seems to be
The proposed algorithm (Algorithm 1) for factoring the
incorrect on a molecular computer. This indicates that the cryp-
product of two large prime numbers of bits is based on
tosystems using public key are perhaps insecure. Furthermore,
biological operations from solution space of DNA strands. This
the first example of molecular cryptanalysis for cryptosystems
algorithm has several advantages from biological operations
based on public key is proposed in the paper.
and solution space of DNA strands. First, the Adleman program
Currently the future of molecular computers is unclear. It is
[22], [46] was used to generate good DNA sequences to con-
possible that in the future molecular computers will be the clear
struct the solution space of DNA strands. Good DNA sequences
choice for performing massively parallel computations. How-
were applied to decrease a rate of errors for hybridization. This
ever, there are still many technical difficulties to overcome be-
indicates that the proposed algorithm actually has a lower rate
fore this becomes a reality. We hope that this paper helps to
of errors for hybridization.
demonstrate that molecular computing is a technology worth
Second, basic biological operations were employed to finish
pursuing.
the function of a -bit parallel comparator, the function of a
parallel subtractor, and the function of a parallel divider. This
means that the proposed algorithm has the computational ca- ACKNOWLEDGMENT
pability of mathematics to finish subtraction (“ ”) and division
(“ ”). Basic biological operations had been performed in a fully The authors would to thank the anonymous reviewers for ex-
automated manner in their lab. The full automation manner is tensive comments and suggestions, which improved the presen-
essential not only for the speedup of computation but also for tation of this paper considerably.
error-free computation.
Third, in Algorithm 1 for factoring the product of two large REFERENCES
prime numbers of bits, the number of tubes, the longest length
[1] R. R. Sinden, DNA Structure and Function. New York: Academic,
of DNA strands, the number of DNA strands, and the number of 1994.
biological operations, respectively, are (1), , , and [2] L. Adleman, “Molecular computation of solutions to combinatorial
. This implies that the proposed algorithm can be easily problems,” Science, vol. 266, pp. 1021–1024, Nov. 11, 1994.
[3] R. J. Lipton, “DNA solution of hard computational problems,” Science,
performed in a fully automated manner in a lab. Fourthly, after vol. 268, pp. 542–545, 1995.
is factored as from Algorithm 1, decoding an encrypted [4] Q. Quyang, P. D. Kaplan, S. Liu, and A. Libchaber, “DNA solution of
message overheard is performed on a classical computer. This the maximal clique problem,” Science, vol. 278, pp. 446–449, 1997.
[5] M. Arita, A. Suyama, and M. Hagiya, “A heuristic approach for the
is to say that decoding an overheard encrypted message can be Hamiltonian path problem with molecules,” in Proc. 2nd Genetic Pro-
easily implemented on a classical computer after is factored gramming Conf. (GP ’97), pp. 457–462.
as . [6] N. Morimoto, M. Arita, and A. Suyama, “Solid phase DNA solution to
the Hamiltonian path problem,” in Proc. 3rd DIMACS Workshop DNA
Based Computers, vol. 48, 1999, pp. 93–101.
V. CONCLUSION [7] A. Narayanan and S. Zorbala et al., “DNA algorithms for computing
shortest paths,” in Proc. 3rd Annu. Conf. Genetic Programming 1998, J.
A general digital computer mainly contains the CPU and R. Koza et al., Eds., pp. 718–724.
[8] S.-Y. Shin, B.-T. Zhang, and S.-S. Jun, “Solving traveling salesman
memory. The main function for the CPU is to perform mathe- problems using molecular programming,” in Proc. 1999 Congr. Evolu-
matical computational tasks and the main function to memory is tionary Computation (CEC ’99), vol. 2, pp. 994–1000.
to store each data needed for mathematical computational tasks. [9] T. H. Cormen, C. E. Leiserson, and R. L. Rivest, Introduction to Algo-
rithms. Cambridge, MA: MIT Press, 1990.
However, on a general molecular computer, each data needed [10] M. R. Garey and D. S. Johnson, Computer and Intractability. San
for mathematical computational tasks is encoded by means of a Fransico, CA: Freeman, 1979.
DNA strand and performing mathematical computational tasks [11] D. Boneh, C. Dunworth, R. J. Lipton, and J. Sgall, “On the computa-
tional power of DNA,” In Discrete Appl. Math. (Special Issue on Com-
is by means of a DNA algorithm (including a series of basic bi- putational Molecular Biology), vol. 71, pp. 79–94, 1996.
ological operations) on those DNA strands. The execution time [12] L. M. Adleman, “On constructing a molecular computer, DNA based
for any basic biological operation is very longer than that of a computers,” in DNA Based Computers (Selected Papers from Proc. DI-
MACS Workshop DNA Based Computers’95), DIMACS Series in Dis-
digital mathematical instruction. Hence, in order to significantly crete Mathematics and Theoretical Computer Science, R. Lipton and E.
improve the execution time for any basic biological operation, Baum, Eds, 1996, pp. 1–21.
Adleman [2] indicated that exponential DNA strands are neces- [13] M. Amos, “DNA computation,” Ph.D. dissertation, Dept. Comput. Sci.,
Univ. Warwick, Coventry, U.K., 1997.
sary. This implies that by means of a basic biological operation [14] S. Roweis, E. Winfree, R. Burgoyne, N. V. Chelyapov, M. F. Goodman,
on exponential DNA strands can be used to perform exponential P. W. K. Rothemund, and L. M. Adleman, “A sticker based model for
digital mathematical instructions. DNA computation,” in Proc. 2nd Annu. Workshop DNA Computing, DI-
MACS Series in Discrete Mathematics and Theoretical Computer Sci-
The paper is the first paper that demonstrates that the difficult ence, L. Landweber and E. Baum, Eds., 1999, pp. 1–29.
problem for factoring the product of two large prime numbers of [15] M. J. Perez-Jimenez and F. Sancho-Caparrini, “Solving knapsack prob-
bits can be solved on a DNA-based computer. The proposed lems in a sticker based model,” in Proc. 7nd Annu. Workshop DNA Com-
puting, DIMACS Series in Discrete Mathematics and Theoretical Com-
algorithm takes a number of steps that is polynomial in the input puter Science, 2001, pp. 161–171.
size, e.g., the number of binary digits of the product (integer) to [16] G. Paun, G. Rozenberg, and A. Salomaa, DNA Computing: New Com-
be factored. Simultaneously, the paper also shows that humans’ puting Paradigms. New York: Springer-Verlag, 1998.
[17] W.-L. Chang and M. Guo, “Solving the dominating-set problem in the
mathematical operations can directly be performed with basic Adleman–Lipton model,” in Proc. 3rd Int. Conf. Parallel and Distributed
biological operations. The property for the difficulty of factoring Computing, Applications and Technologies, 2002, pp. 167–172.
CHANG et al.: FAST PARALLEL MOLECULAR ALGORITHMS FOR DNA-BASED COMPUTATION: FACTORING INTEGERS 163
[18] , “Solving the clique problem and the vertex cover problem in the [45] H. Hug and R. Schuler, “DNA based parallel computation of simple
Adleman–Lipton model,” in Proc. IASTED Int. Conf. Networks, Parallel arithmetic,” in Proc. 7th Workshop DNA Based Computers, 2001, pp.
and Distributed Processing, and Applications, 2002, pp. 431–436. 159–166.
[19] , “Solving NP-complete problem in the Adleman–Lipton model,” [46] R. S. Braich, C. Johnson, P. W. K. Rothemund, D. Hwang, N. Chelyapov,
in Proc. 2002 Int. Conf. Computer and Information Technology, pp. and L. M. Adleman, “Solution of a 20-variable 3-SAT problem on a
157–162. DNA computer,” Science, vol. 296, no. 5567, pp. 499–502, Apr. 2002.
[20] , “Resolving the 3-dimensional matching problem and the [47] J. Watson, M. Gilman, J. Witkowski, and M. Zoller, Recombinant DNA,
set-packing problem in the Adleman–Lipton model,” in Proc. IASTED 2nd ed. San Francisco, CA: Freeman, 1992.
Int. Conf. Networks, Parallel and Distributed Processing, and Applica- [48] J. Watson, N. Hoplins, and J. Roberts et al., Molecular Biology of the
tions, 2002, pp. 455–460. Gene. Menlo Park, CA: Benjamin/Cummings, 1987.
[21] B. Fu, “Volume bounded molecular computation,” Ph.D. Thesis, Dept. [49] G. M. Blackburn and M. J. Gait, Nucleic Acids in Chemistry and Bi-
Comput. Sci., Yale Univ., New Haven, CT, 1997. ology. Washington, DC: IRL, 1990.
[22] R. S. Braich, C. Johnson, P. W. K. Rothemund, D. Hwang, N. Chelyapov, [50] F. Eckstein, Oligonucleotides and Anologues. Oxford, U.K.: Oxford
and L. M. Adleman, “Solution of a satisfiability problem on a gel-based Univ. Press, 1991.
DNA computer,” in Proc. 6th Int. Conf. DNA Computation, 2000, pp. [51] D. Boneh, C. Dunworth, and R. J. Lipton, “Breaking DES Using a
27–42. Molecular Computer,” Princeton Univ., Princeton, NJ, Tech. Rep.
[23] K. Mir, “A restricted genetic alphabet for DNA computing,” in DNA CS-TR-489-95, 1995.
Based Computers II: Proc. DIMACS Workshop 1996, vol. 44, DIMACS [52] L. Adleman, P. W. K. Rothemund, S. Roweis, and E. Winfree, “On
Series in Discrete Mathematics and Theoretical Computer Science, E. applying molecular computation to the data encryption standard,” in
B. Baum and L. F. Landweber, Eds., 1998, pp. 243–246. Proc. 2nd Annu. Workshop DNA Computing, DIMACS Series in Dis-
[24] A. R. Cukras, D. Faulhammer, R. J. Lipton, and L. F. Landweber, “Chess crete Mathematics and Theoretical Computer Science, 1999, pp. 31–44.
games: a model for RNA-based computation,” in In Proc. 4th DIMACS [53] W.-L. Chang, M. Ho, and M. Guo, “Fast parallel molecular solution to
Meeting DNA Based Computers, Jun. 1998, pp. 27–37. the dominating-set problem on massively parallel bio-computing,” Par-
[25] M. Ho, W.-L. Chang, and M. Guo, “Is cook’s theorem correct for allel Comput., vol. 30, no. 9–10, pp. 1109–1125, 2004.
DNA-based computing—toward solving the NP-complete problems
on a DNA-based supercomputer model,” J. Parallel Distrib. Sci. Eng.
Comput., to be published.
[26] J. H. Reif, T. LaBean, and H. Seeman, “Challenges and applications for
self-assembled DNA-nanostructures,” in Proc. 6th DIMACS Workshop
DNA Based Computers, 2002, pp. 145–172. Weng-Long Chang received the Ph.D. degree in computer science and infor-
[27] T. H. LaBean, E. Winfree, and J. H. Reif, “Experimental progress in mation engineering from National Cheng Kung University in 1999.
computation by self-assembly of DNA tilings,” Theor. Comput. Sci., vol. He is currently an Assistant Professor with the Southern Taiwan University
54, pp. 123–140, 2000. of Technology, Tainan. His research interests include molecular computing, and
[28] S. A. Cook, “The complexity of theorem-proving procedures,” in Proc. languages and compilers for parallel computing.
3rd Annu. ACM Symp. Theory of Computing, 1971, pp. 151–158.
[29] R. M. Karp, “Reducibility among combinatorial problems,” in Com-
plexity of Computer Computation. New York: Plenum, 1972, pp.
85–103.
[30] M. C. LaBean, T. H. Reif, and J. H. Seeman, “Logical computation using Minyi Guo (M’00) received the Ph.D. degree in information science from Uni-
algorithmic self-assembly of DNA triple-crossover molecules,” Nature, versity of Tsukuba in 1998.
vol. 407, pp. 493–496, 2000. From 1998 to 2000, he was a Research Scientist with NEC Soft, Ltd. Japan.
[31] R. Barua and J. Misra, “Binary arithmetic for DNA computers,” in Proc. From 2001 to 2004, he was a visiting professor of Georgia State University,
8th Int. Workshop DNA Based Computers, 2002, pp. 124–132. Hong Kong Polytechnic University, and the University of New South Wales.
[32] W.-L. Chang, M. Guo, and M. Ho, “Solving the set-splitting problem He is currently a Professor in the Department of Computer Software, Univer-
in sticker-based model and the Adleman–Lipton model,” Future Gener. sity of Aizu, Aizu–Wakamatsu City, Japan. He is the Editor-in-Chief of the
Comput. Syst., vol. 20, no. 5, pp. 875–885, Jun. 2004. Journal of Embedded Systems. He is also on the Editorial Board of the Inter-
[33] E. Bach, A. Condon, E. Glaser, and C. Tanguay, “DNA models and algo- national Journal of High Performance Computing and Networking, the Journal
rithms for NP-complete problems,” in Proc. 11th Annu. Conf. Structure of Embedded Computing, the Journal of Parallel and Distributed Scientific and
in Complexity Theory, 1996, pp. 290–299. Engineering Computing, and the International Journal of Computer and Ap-
[34] R. L. Rivest, A. Shamir, and L. Adleman, “A method for obtaining dig- plications. His research interests include parallel and distributed processing,
ital signatures and public-key crytosystem,” Commun. ACM, vol. 21, pp. parallelizing compilers, data parallel languages, data mining, molecular com-
120–126, 1978. puting, and software engineering. Dr. Guo is a member of the Association for
[35] W.-L. Chang and M. Guo, “Solving the set-cover problem and the Computing Machinery, the IEEE Computer Society, the Information Processing
problem of exact cover by 3-Sets in the Adleman–Lipton model,” Society of Japan (IPSJ), and the Institute of Electronics, Information and Com-
BioSystems, vol. 72, no. 3, pp. 263–275, 2003. munication Engineers (IEICE). He has served as general chair, program com-
[36] W.-L. Chang, M. Ho, and M. Guo, “Molecular solutions for the mittee, or organizing committee chair for many international conferences. He is
subset-sum problem on DNA-based supercomputing,” BioSystems, vol. listed in Marquis Who’s Who in Science and Engineering.
73, no. 2, pp. 117–130, 2004.
[37] R. P. Feynman, In Minaturization, D. H. Gilbert, Ed. New York: Rein-
hold, 1961, pp. 282–296.
[38] F. Guarneiri, M. Fliss, and C. Bancroft, “Making DNA add,” Science,
vol. 273, pp. 220–223, 1996.
[39] V. Gupta, S. Parthasarathy, and M. J. Zaki, “Arithmetic and logic oper- Michael Shan-Hui Ho received the M.S. degree from St. Mary’s University and
ations with DNA,” in Proc. 3rd DIMACS Workshop DNA Based Com- the Ph.D. degree in information science/computer science with a management
puters, 1997, pp. 212–220. and accounting minor from the University of Texas, Austin.
[40] Z. F. Qiu and M. Lu, “Arithmetic and logic Operations with DNA com- He has 25 years industrial and academic experience in the computing field. He
puters,” in Proc. 2nd IASTED Int. Conf. Parallel and Distributed Com- has worked as a Senior Software Engineer and Project Leader developing e-busi-
puting and Networks, 1998, pp. 481–486. ness Web and multimedia applications and a Senior Database Administrator for
[41] M. Ogihara and A. Ray, “Simulating Boolean circuits on a DNA com- SQL clustered servers, Oracle, and DB2 databases including network/systems
puter,” Univ. Rochester, Rochester, NY, Tech. Rep. TR631, Aug. 1996. LAN/WAN system administration tomajor U.S. corporations and government
[42] M. Amos and P. E. Dunne, “DNA simulation of Boolean circuits,” Uni- organizations. He also has more than ten years of college teaching/research ex-
versity of Liverpool, Liverpool, U.K., Tech. Rep. CTAG-97 009, Dec. perience as an Assistant Professor and Research Analyst at Central Missouri
1997. State University, the University of Texas at Austin, and BPC International In-
[43] A. Atanasiu, “Arithmetic with membrames,” in Proc. Workshop Mutiset stitute. He is currently an Associate Professor of Southern Taiwan University
Processing, 2000, pp. 1–17. of Technology, Tainan. His research interests include algorithm and computa-
[44] P. Frisco, “Parallel arithmetic with splicing,” Romanian J. Inf. Sci. tion theories, software engineer, database and data mining, parallel computing,
Technol., vol. 3, pp. 113–128, 2000. quantum computing, and DNA computing.