1460716698-dcac5cb5-f081-4d17-9069-e5185a5ff2cf

1. A microencapsulation system, comprising:
a microcapsule production unit;
a fluidized passage for washing and harvesting microcapsules dispensed from the microcapsule production unit;
a flow sensor for sizing and counting the microcapsules; and
a controller configured to simultaneously operate the microcapsule production unit, fluidized passage and flow sensor to process the microcapsules in a continuous manner.
2. The microencapsulation system of claim 1, wherein the controller is further configured to provide feedback control for the microcapsule production unit, fluidized passage and flow sensor.
3. The microencapsulation system of claim 1, wherein the microcapsule production unit comprises:
a dual-dispenser system configured to form co-axial multi-lamellar microspheres; and
a bath of solution configured to receive and form a membrane about the co-axial multi-lamellar microspheres to form microcapsules.
4. The microencapsulation system of claim 1, wherein the microcapsule production unit comprises a dual-dispenser system configured to form substantially uniform co-axial multi-lamellar microspheres.
5. The microencapsulation system of claim 3, further comprising a separation baffle system arranged down stream from the microcapsule production unit, wherein the separation baffle system is configured to separate residual amounts of one or more fluids used to form the co-axial multi-lamellar microspheres from the solution used to form the membrane about the co-axial multi-lamellar microspheres.
6. The microencapsulation system of claim 5, further comprising a recirculation conduit configured to recycle the one or more fluids back to the dual-dispenser system.
7. The microencapsulation system of claim 5, further comprising a recirculation conduit configured to recycle the solution back to the bath.
8. The microencapsulation system of claim 1, wherein the flow sensor comprises:
an imaging system configured to acquire images of the microcapsules; and
a photometer configured to measure intensity of light transmitted through the microcapsules.
9. A microencapsulation system, comprising:
a microcapsule production unit comprising:
a dual-dispenser system configured to form co-axial multi-lamellar microspheres; and
a bath of solution configured to receive and form a membrane about the co-axial multi-lamellar microspheres to form microcapsules;

a separation baffle system arranged down stream from the microcapsule production unit, wherein the separation baffle system is configured to separate residual amounts of one or more fluids used to form the co-axial multi-lamellar microspheres from the solution used to form the membrane about the co-axial multi-lamellar microspheres;
a fluidized passage for washing and harvesting microcapsules dispensed from the microcapsule production unit;
a flow sensor for sizing and counting the microcapsules comprising:
an imaging system configured to acquire images of the microcapsules; and
a photometer configured to measure intensity of light transmitted through the microcapsules; and

a controller configured to simultaneously operate the microcapsule production unit, fluidized passage and flow sensor to process the microcapsules in a continuous manner.
10. The microencapsulation system of claim 9, wherein the controller is further configured to provide feedback control for the microcapsule production unit, fluidized passage and flow sensor.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for computing an approximation of a natural logarithm function comprising the steps of:
partitioning an interval between 1 and 2 into N equally spaced sub-regions;
precomputing a reference point ai of each of the N equally spaced sub-regions, where i=0, . . . ,N\u22121;
selecting N sufficiently large so that, for each sub-region, a first degree polynomial in m computes log(m) to within a preselected degree of accuracy for any m within the sub-region, where m is a binary mantissa of a binary floating point representation of a variable x;
computing a value of log(x) for a binary floating point representation of x stored in a memory of a computing device utilizing the first degree polynomial in the binary mantissa m, wherein log(x) is a function of a distance between the reference point ai and the binary mantissa m; and
generating an image by using the computed value of log(x), wherein x has a binary exponent e in addition to the binary mantissa m;
and further wherein computing a value of log(x) for the binary floating point representation of x comprises the steps of:
partitioning the binary mantissa m of a binary representation of x in a memory, the representation of x including a binary exponent e and the binary mantissa m, wherein a first, most significant part of the partition corresponds to a region i and a second, less significant part of the partition corresponds to a region \u0394x, where \u0394x is a distance from the binary mantissa m to the reference point
a
i

=

1
+
i
+
0.5

N
;
computing an approximation to log(x), using the first degree polynomial in the binary mantissa m and a precomputed value of log(ai), wherein computing an approximation to log(x) comprises the step of computing an approximation written as:
y=\u2212log(x)\u2248bi+ci\u0394x+e\xd7log(2)
for i=0, . . . ,N\u22121
where:
b
i

=

log
\u2061

(

a
i

)
+
(

1

4
\u2062

a
i

\u2062
N
)

2


(

1
+

1

2
\u2062
N
)

\u2062

1

a
i
;
\u2062
and
ci=\u22121ai;
precomputing a value for log(2); and
for each i, precomputing each value of bi and ci.
2. A method in accordance with claim 1 further comprising the step of storing the precomputed values of bi and ci in a look-up table.
3. A method for computing an approximation of a natural logarithm function comprising the steps of:
partitioning an interval between 1 and 2 into N equally spaced sub-regions;
precomputing a reference point ai of each of the N equally spaced sub-regions, where i=0, . . . , N\u22121;
selecting N sufficiently large so that, for each sub-region, a first degree polynomial in m computes log(m) to within a preselected degree of accuracy for any m within the sub-region, where m is a binary mantissa of a binary floating point representation of a variable x;
computing a value of log(x) for a binary floating point representation of x stored in a memory of a computing device utilizing the first degree polynomial in the binary mantissa m, wherein log(x) is a function of a distance between the reference point ai and the binary mantissa m;
generating an image by using the computed value of log(x), wherein x has a binary exponent e in addition to the binary mantissa m;
and further wherein computing a value of log(x) for the binary floating point representation of x comprises the steps of:
partitioning the binary mantissa m of a binary representation of x in a memory, the representation of x including a binary exponent e and the binary mantissa m, wherein a first, most significant part of the partition corresponds to a region i and a second, less significant part of the partition corresponds to a region \u0394x, where \u0394x is a distance from the binary mantissa m to the reference point
a
i

=

1
+
i
+
0.5

N
;
\u2062
and
computing an approximation to log(x), using the first degree polynomial in the binary mantissa m and a precomputed value of log(ai);
and further wherein computing an approximation to log(x) comprises the step of computing an approximation written as:
y=\u2212log(x)\u2248bi+ci\u0394x+e\xd7log(2)
for i=0, . . . ,N\u22121
where:
b
i

=

log
\u2061

(

a
i

)
+
(

1

4
\u2062

a
i

\u2062
N
)

2


(

1
+

1

2
\u2062
N
)

\u2062

1

a
i
;
\u2062
and
c1=\u22121ai;
precomputing a value for log(2); and
for each i, precomputing each value of bi and ci; and
said method utilized in a computed tomography (CT) scanner configured to generate an image of an object from acquired projection data of the object.
4. A method in accordance with claim 3 further comprising the step of storing the precomputed values of bi and ci in a look-up table.
5. A computing device comprising a memory in which binary floating point representations of particular numbers are stored, said device being configured to:
partition an interval between 1 and 2 into N equally spaced sub-regions;
precompute a reference point ai of each of the N equally spaced sub-regions, where i=0, . . . ,N\u22121, wherein N is sufficiently large so that, within each sub-region, a first degree polynomial in m computes log(m) to within a preselected degree of accuracy for any m within the sub-region, where m is a mantissa of a binary floating point representation of a variable x;
compute a value of log(x) for a binary floating point representation of x stored in said memory utilizing the first degree polynomial in the binary mantissa m, wherein log(x) is a function of a distance between the reference point ai and the binary mantissa m;
generate an image by using the computed value of log(x);
wherein x has a binary exponent e in addition to the binary mantissa m and wherein said device being configured to compute a value of log(x) for the binary floating point representation of x comprises said device being configured to:
partition the binary mantissa m of a binary representation of x in a memory of said device, the representation of x including a binary exponent e and the binary mantissa m, wherein a first, most significant part of the partition corresponds to a region i and a second, less significant part of the partition corresponds to a region \u0394x, where \u0394x is a distance from the binary mantissa m to the reference point
a
i

=

1
+
i
+
0.5

N
;
\u2062
and
compute an approximation to log(x), using a polynomial of first degree in m and a precomputed value of log(ai);
and further wherein said device being configured to compute the approximation to log(x) comprises said device being configured to compute an approximation written as:
log
\u2061

(
m
)
\u2248
log
\u2061

(

a
i

)
+
(

m

a
i
)
a
i
;
where the reference point ai is a closest reference point to the binary mantissa m; and
1\u2266ai<2.
6. A computing device in accordance with claim 5 wherein x is represented by a 32-bit representation having a sign bit, an 8-bit exponent, and a 23-bit binary mantissa having bits b22 to b0 in order of significance with b22 being a bit of greatest significance; and wherein said device being configured to partition the binary mantissa m comprises said device being configured to select a first group of bits b22 through b16 as index i and bits b15 through b0 as \u0394x.
7. A computing device in accordance with claim 5 in a computed tomography (CT) scanner and utilized by said CT scanner for calculating logarithms when said CT scanner generates an image of an object from acquired projection data of the object.
8. A computing device in accordance with claim 7 wherein said CT scanner utilizes said computing device to calculate natural logarithm in an image reconstructor to generate the image of the object.
9. A computing device in accordance with claim 5, said computing device further configured to use the value of log(x) to process at least one image of an object of interest.
10. A computing device in accordance with claim 5 wherein the reference point ai is a centerpoint of each of the N equally spaced sub-regions.
11. A computing device in a computed tomography (CT) scanner and utilized by said CT scanner for calculating logarithms when said CT scanner generates an image of an object from acquired projection data of the object, said computing device comprising a memory in which binary floating point representations of particular numbers are stored, said device being configured to:
partition an interval between 1 and 2 into N equally spaced sub-regions;
precompute a reference point ai of each of the N equally spaced sub-regions, where i=0, . . . ,N\u22121, wherein N is sufficiently large so that, within each sub-region, a first degree polynomial in m computes log(m) to within a preselected degree of accuracy for any m within the sub-region, where m is a mantissa of a binary floating point representation of a variable x;
compute a value of log(x) for a binary floating point representation of x stored in said memory utilizing the first degree polynomial in the binary mantissa m, wherein log(x) is a function of a distance between the reference point ai and the binary mantissa m; and
generate an image by using the computed value of log(x);
wherein x is stored with a binary exponent e in addition to the binary mantissa m;
and further wherein said device being configured to compute a value of log(x) for the binary floating point representation of x comprises said device being configured to:
partition the binary mantissa m of a binary representation of x in a memory, the representation of x including a binary exponent e and the binary mantissa m, wherein a first, most significant part of the partition corresponds to a region i and a second, less significant part of the partition corresponds to a region \u0394x, where \u0394x is a distance from mantissa m to reference point
a
i

=

1
+
i
+
0.5

N
;
\u2062
and
compute an approximation to log(x), using a polynomial of first degree in m and a precomputed value of log(ai);
and further wherein said device being configured to compute an approximation to log(x) comprises said device being configured to compute an approximation written as:
y=\u2212log(x)\u2248bi+ci\u0394x+e\xd7log(2)
for i=0, . . . ,N\u22121
where:
b
i

=

log
\u2061

(

a
i

)
+
(

1

4
\u2062

a
i

\u2062
N
)

2


(

1
+

1

2
\u2062
N
)

\u2062

1

a
i
;
\u2062
and
ci=\u22121ai;
and said device is further configured to precompute a value for log(2); and
for each i, to precompute each value of bi and ci.
12. A computing device in accordance with claim 11 further configured to store the precomputed values of bi and ci in a look-up table.
13. A computing device comprising a memory in which binary floating point representations of particular numbers are stored, said device being configured to:
partition an interval between 1 and 2 into N equally spaced sub-regions;
precompute a reference point ai of each of the N equally spaced sub-regions, where i=0, . . . ,N\u22121, wherein N is sufficiently large so that, within each sub-region, a first degree polynomial in m computes log(m) to within a preselected degree of accuracy for any m within the sub-region, where m is a mantissa of a binary floating point representation of a variable x;
compute a value of log(x) for a binary floating point representation of x stored in said memory utilizing the first degree polynomial in the binary mantissa m, wherein log(x) is a function of a distance between the reference point ai and the binary mantissa m; and
generate an image by using the computed value of log(x), wherein x has a binary exponent e in addition to the binary mantissa m;
and wherein said device being configured to compute a value of log(x) for the binary floating point representation of x comprises said device being configured to:
partition the binary mantissa m of a binary representation of x in a memory of said device, the representation of x including a binary exponent e and the binary mantissa m, wherein a first, most significant part of the partition corresponds to a region i and a second, less significant part of the partition corresponds to a region \u0394x, where \u0394x is a distance from the binary mantissa m to the reference point
a
i

=

1
+
i
+
0.5

N
;
\u2062
and
compute an approximation to log(x), using a polynomial of first degree in m and a precomputed value of log(ai);
and further wherein said device being configured to compute an approximation to log(x) comprises said device being configured to compute an approximation written as:
y=\u2212log(x)\u2248bi+ci\u0394x+e\xd7log(2)
for i=0, . . . ,N\u22121
where:
b
i

=

log
\u2061

(

a
i

)
+
(

1

4
\u2062

a
i

\u2062
N
)

2


(

1
+

1

2
\u2062
N
)

\u2062

1

a
i
;
\u2062
and
ci=\u22121ai;
and said device further configured to precompute a value for log(2); and
for each i, to precompute each value of bi and ci.
14. A computing device in accordance with claim 13 further configured to store the precomputed values of bi and ci in a look-up table.
15. A method for computing an approximation of a natural logarithm function comprising the steps of:
partitioning an interval between 1 and 2 into N equally spaced sub-regions;
precomputing a reference point ai of each of the N equally spaced sub-regions, where i=0, . . . ,N\u22121;
selecting N sufficiently large so that, for each sub-region, a first degree polynomial in m computes log(m) to within a preselected degree of accuracy for any m within the sub-region, where m is a binary mantissa of a binary floating point representation of a variable x;
computing a value of log(x) for a binary floating point representation of x stored in a memory of a computing device utilizing the first degree polynomial in the binary mantissa m, wherein log(x) is a function of a distance between the reference point ai and the binary mantissa m;
generating an image by using the computed value of log(x);
wherein x has a binary exponent e in addition to the binary mantissa m;
and further wherein computing a value of log(x) for the binary floating point representation of x comprises the steps of:
partitioning the binary mantissa m of a binary representation of x in a memory, the representation of x including a binary exponent e and the binary mantissa m, wherein a first, most significant part of the partition corresponds to a region i and a second, less significant part of the partition corresponds to a region \u0394x, where \u0394x is a distance from the binary mantissa m to the reference point
a
i

=

1
+
i
+
0.5

N
;
\u2062
and
computing an approximation to log(x), using the first degree polynomial in the binary mantissa m and a precomputed value of log(ai);
wherein computing the approximation to log(x) comprises the step of computing an approximation written as:
log
\u2061

(
m
)
\u2248
log
\u2061

(

a
i

)
+
(

m

a
i
)
a
i
;
where the reference point ai is a closest reference point to the binary mantissa m of x; and
1\u2266ai<2.
16. A method in accordance with claim 15 wherein x is represented by a 32-bit representation having a sign bit, an 8-bit exponent, and a 23-bit binary mantissa having bits b22 to b0 in order of significance with b22 being a bit of greatest significance; and the step of partitioning the binary mantissa m comprises the step of selecting a first group of bits b22 through b16 as index i and bits b15 through b0 as \u0394x.
17. A method in accordance with claim 15 utilized in a computed tomography (CT) scanner for generating an image of an object from acquired projection data of the object.
18. A method in accordance with claim 17 wherein said natural logarithm is used in an image reconstructor to generate the image of the object.
19. A method in accordance with claim 15 further comprising using the approximation to process at least one image of an object of interest.
20. A method in accordance with claim 15 wherein precomputing a reference point ai of each of the N equally spaced sub-regions comprising precomputing a centerpoint of each of the N equally spaced sub-regions.
21. A method for computing an approximation of a natural logarithm function comprising the steps of:
partitioning an interval between 1 and 2 into N equally spaced sub-regions;
precomputing a reference point ai of each of the N equally spaced sub-regions, where i=0, . . . ,N\u22121;
selecting N sufficiently large so that, for each sub-region, a first degree polynomial in m computes log(m) to within a preselected degree of accuracy for any m within the sub-region, where m is a binary mantissa of a binary floating point representation of a variable x;
computing a value of log(x) for a binary floating point representation of x stored in a memory of a computing device utilizing the first degree polynomial in the binary mantissa m, wherein log(x) is a function of a distance between the reference point ai and the binary mantissa m; and
generating an image by using the computed value of log(x), wherein x has a binary exponent e in addition to the binary mantissa m;
and further wherein computing a value of log(x) for the binary floating point representation of x comprises the steps of:
partitioning the binary mantissa m of a binary representation of x in a memory, the representation of x including a binary exponent e and the binary mantissa m, wherein a first, most significant part of the partition corresponds to a region i and a second, less significant part of the partition corresponds to a region \u0394x, where \u0394x is a distance from the binary mantissa m to the reference point
a
i

=

1
+
i
+
0.5

N
;
\u2062
and
computing an approximation to log(x), using the first degree polynomial in the binary mantissa m and a precomputed value of log(ai);
wherein computing an approximation to log(x) comprises the step of computing an approximation written as:
y=\u2212log(x)\u2248bi+ci\u0394x+e\xd7log(2)
for i=0, . . . ,N\u22121
where:
b
i

=

log
\u2061

(

a
i

)
+
(

1

4
\u2062

a
i

\u2062
N
)

2


(

1
+

1

2
\u2062
N
)

\u2062

1

a
i
;
\u2062
and
ci=\u22121ai.
22. A method for computing an approximation of a natural logarithm function comprising the steps of:
partitioning an interval between 1 and 2 into N equally spaced sub-regions;
precomputing a reference point ai of each of the N equally spaced sub-regions, where i=0, . . . ,N\u22121;
selecting N sufficiently large so that, for each sub-region, a first degree polynomial in m computes log(m) to within a preselected degree of accuracy for any m within the sub-region, where m is a binary mantissa of a binary floating point representation of a variable x;
computing a value of log(x) for a binary floating point representation of x stored in a memory of a computing device utilizing the first degree polynomial in the binary mantissa m, wherein log(x) is a function of a distance between the reference point ai and the binary mantissa m; and
generating an image by using the computed value of log(x), wherein x has a binary exponent e in addition to the binary mantissa m;
wherein said method is utilized in a computed tomography (CT) scanner for generating an image of an object from acquired projection data of the object;
and further wherein computing a value of log(x) for the binary floating point representation of x comprises the steps of:
partitioning the binary mantissa m of a binary representation of x in a memory, the representation of x including a binary exponent e and the binary mantissa m, wherein a first, most significant part of the partition corresponds to a region i and a second, less significant part of the partition corresponds to a region \u0394x, where \u0394x is a distance from the binary mantissa m to the reference point
a
i

=

1
+
i
+
0.5

N
;
\u2062
and
computing an approximation to log(x), using the first degree polynomial in the binary mantissa m and a precomputed value of log(ai);
and further wherein computing an approximation to log(x) comprises the step of computing an approximation written as:
y=\u2212log(x)\u2248bi+ci\u0394x+e\xd7log(2)
for i=0, . . . ,N\u22121
where:
b
i

=

log
\u2061

(

a
i

)
+
(

1

4
\u2062

a
i

\u2062
N
)

2


(

1
+

1

2
\u2062
N
)

\u2062

1

a
i
;
\u2062
and
ci=\u22121ai.
23. A computing device comprising a memory in which binary floating point representations of particular numbers are stored, said device being configured to:
partition an interval between 1 and 2 into N equally spaced sub-regions;
precompute a reference point ai of each of the N equally spaced sub-regions, where i=0, . . . ,N\u22121, wherein N is sufficiently large so that, within each sub-region, a first degree polynomial in m computes log(m) to within a preselected degree of accuracy for any m within the sub-region, where m is a mantissa of a binary floating point representation of a variable x;
compute a value of log(x) for a binary floating point representation of x stored in said memory utilizing the first degree polynomial in the binary mantissa m, wherein log(x) is a function of a distance between the reference point ai and the binary mantissa m; and
generate an image by using the computed value of log(x), wherein x has a binary exponent e in addition to the binary mantissa m;
and wherein said device being configured to compute a value of log(x) for the binary floating point representation of x comprises said device being configured to:
partition the binary mantissa m of a binary representation of x in a memory of said device, the representation of x including a binary exponent e and the binary mantissa m, wherein a first, most significant part of the partition corresponds to a region i and a second, less significant part of the partition corresponds to a region \u0394x, where \u0394x is a distance from the binary mantissa m to the reference point
a
i

=

1
+
i
+
0.5

N
;
\u2062
and
compute an approximation to log(x), using a polynomial of first degree in m and a precomputed value of log(ai);
and further wherein said device being configured to compute an approximation to log(x) comprises said device being configured to compute an approximation written as:
y=\u2212log(x)\u2248bi+ci\u0394x+e\xd7log(2)
for i=0, . . . ,N\u22121
where:
b
i

=

log
\u2061

(

a
i

)
+
(

1

4
\u2062

a
i

\u2062
N
)

2


(

1
+

1

2
\u2062
N
)

\u2062

1

a
i
;
\u2062
and
ci=\u22121ai.
24. A computing device comprising a memory in which binary floating point representations of particular numbers are stored, said device being configured to:
partition an interval between 1 and 2 into N equally spaced sub-regions;
precompute a reference point ai of each of the N equally spaced sub-regions, where i=0, . . . ,N\u22121, wherein N is sufficiently large so that, within each sub-region, a first degree polynomial in m computes log(m) to within a preselected degree of accuracy for any m within the sub-region, where m is a mantissa of a binary floating point representation of a variable x;
compute a value of log(x) for a binary floating point representation of x stored in said memory utilizing the first degree polynomial in the binary mantissa m, wherein log(x) is a function of a distance between the reference point ai and the binary mantissa m; and
generate an image by using the computed value of log(x), wherein x is stored with a binary exponent e in addition to the binary mantissa m; said device in a computed tomography (CT) scanner and utilized by said CT scanner for calculating logarithms when said CT scanner generates an image of an object from acquired projection data of the object;
and further wherein said device being configured to compute a value of log(x) for the binary floating point representation of x comprises said device being configured to:
partition the binary mantissa m of a binary representation of x in a memory, the representation of x including a binary exponent e and the binary mantissa m, wherein a first, most significant part of the partition corresponds to a region i and a second, less significant part of the partition corresponds to a region \u0394x, where \u0394x is a distance from mantissa m to reference point
a
i

=

1
+
i
+
0.5

N
;
\u2062
and
compute an approximation to log(x), using a polynomial of first degree in m and a precomputed value of log(ai);
and further wherein said device being configured to compute an approximation to log(x) comprises said device being configured to compute an approximation written as:
y=\u2212log(x)\u2248bi+ci\u0394x+e\xd7log(2)
for i=0, . . . ,N\u22121
where:
b
i

=

log
\u2061

(

a
i

)
+
(

1

4
\u2062

a
i

\u2062
N
)

2


(

1
+

1

2
\u2062
N
)

\u2062

1

a
i
;
\u2062
and
ci=\u22121ai.

1460716690-f3559cfe-9778-4f61-9f7d-98535a3ceeb1

1. A method of generating a key for encrypting a present plaintext block of digital data, the present plaintext block belonging to an ordered series of plaintext blocks, the method comprising the steps of:
generating, by a device, a second encryption key for the present plaintext block by combining a previous plaintext block with a first generated encryption key, wherein the first generated encryption key was used as an encryption key for encryption of the previous plaintext block and generated by combining a plaintext block immediately preceding the previous plaintext block and a third encryption key, the previous plaintext block immediately preceding the present plaintext block in the ordered series.
2. The method of claim 1, wherein the first encryption key is an initialization encryption key.
3. A method of encrypting a present plaintext block of digital data, the present plaintext block belonging to an ordered series of plaintext blocks, the method comprising the steps of:
generating, at an encryption device, a second encryption key for the present plaintext block by combining a previous plaintext block with a first generated encryption key, wherein the first generated encryption key was used as an encryption key for encryption of the previous plaintext block and generated by combining a plaintext block immediately preceding the previous plaintext block and a third encryption key, the previous plaintext block immediately preceding the present plaintext block in the ordered series; and
encrypting, at the encryption device, the present plaintext block using an encryption algorithm with the generated second encryption key.
4. A method of generating a key for decrypting a present ciphertext block of digital data, the present ciphertext block belong to an ordered series of ciphertext blocks, the method comprising the steps of:
generating, by a device, a second decryption key for the present ciphertext block by combining a previously obtained plaintext block with a first generated decryption key, wherein the first generated decryption key was used as a decryption key to obtain the previously obtained plaintext block and generated by combining a plaintext block decrypted immediately prior to the previous plaintext block and a third encryption key, the previously obtained plaintext block corresponding to the ciphertext block that immediately precedes the present ciphertext block in the ordered series.
5. The method of claim 4, wherein, in the second decryption key generation step, a one-way function is applied to the previously obtained plaintext block before the combination.
6. The method of claim 4, wherein the first generated decryption key is:
a subkey of either:
a plurality of subkeys resulting from a key schedule algorithm; or
a plurality of subkeys used for decryption of the previously obtained plaintext block.
7. A method of decrypting a present ciphertext block of digital data, the present ciphertext block belonging to an ordered series of ciphertext blocks, the method comprising the steps of:
generating, at a decryption device, a decryption key by combining a previously obtained plaintext block with a first generated decryption key, wherein the first generated decryption key was used as a decryption key to obtain the previously obtained plaintext block and generated by combining a plaintext block decrypted immediately prior to the previous plaintext block and a third encryption key, the previously obtained plaintext block corresponding to the ciphertext block that immediately precedes the present ciphertext block in the ordered series; and
decrypting, at a decryption device, the present ciphertext block using a decryption algorithm with the generated decryption key.
8. A device for generating an encryption key for encrypting a present plaintext block of digital data, the present plaintext block belonging to an ordered series of plaintext blocks, the device comprising:
a processor configured to:
generate a second encryption key for the present plaintext block by combining a previous plaintext block with a first generated encryption key, wherein the first generated encryption was used as an encryption key for encryption of the previous plaintext block and generated by combining a plaintext block immediately preceding the previous plaintext block and a third encryption key, the previous plaintext block immediately preceding the present plaintext block in the ordered series.
9. A device for generating a decryption key for decrypting a present ciphertext block of digital data, the present ciphertext block belonging to an ordered series of ciphertext blocks, the device comprising,
a processor configured to:
generate a second decryption key for the present ciphertext block by combining a previously obtained plaintext block with a first generated decryption key, wherein the first generated decryption key was used as a decryption key to obtain the previously obtained plaintext block and generated by combining a plaintext block decrypted immediately prior to the previous plaintext block and a third encryption key, the previously obtained plaintext block corresponding to the ciphertext block that immediately precedes the present ciphertext block in the ordered series.
10. The device of claim 9, wherein a plurality of subkeys are used to decrypt a ciphertext block and wherein the processor is configured to find which at least one subkey from the plurality of subkeys to combine with the previously obtained plaintext block.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for producing a phrase thesaurus, comprising the steps of:
providing access to a thesaurus building computer coupled with a machine-readable phrase thesaurus database;
identifying, by thesaurus building computer, a plurality of valid phrases that occur within a text corpus;
determining, by thesaurus building computer, the degree of similarity between the valid phrases, wherein one or more contexts are created for each valid phrase, wherein each context for a valid phrase comprises a word or phrase that appears adjacent to the valid phrase in the text corpus, and wherein the degree of overlap of the contexts of each valid phrase with the contexts of each other valid phrase is determined; and
grouping, in the phrase thesaurus database, the valid phrases into classes of equivalent valid phrases based upon the determined degree of similarity between valid phrases.
2. A method as in claim 1, wherein the step of identifying a plurality of valid phrases that occur within a text corpus further comprises the step of extracting candidate phrases from the text corpus.
3. A method as in claim 2, wherein the step of extracting candidate phrases from the text corpus further comprises the step of identifying a first set of candidate phrases that includes phrases that occur in the text corpus with greater than a predetermined frequency.
4. A method as in claim 3, wherein the step of extracting candidate phrases from the text corpus further comprises the step of filtering the first set of candidate phrases to eliminate phrases from the first set of candidate phrases in accordance with one or more predetermined criteria.
5. A method as in claim 4, wherein the step of filtering further comprises the step of eliminating candidate phrases that occur with less than a predetermined frequency from the first set of candidate phrases.
6. A method as in claim 5, wherein the predetermined frequency varies in accordance with the number of words in a candidate phrase.
7. A method as in claim 6, wherein the predetermined frequency decreases as the number of words in a candidate phrase increases.
8. A method as in claim 4, wherein the step of filtering further comprises the steps of:
calculating the surrounding perplexity of each of the candidate phrases; and
eliminating candidate phrases having less than a predetermined surrounding perplexity from the first set of candidate phrases.
9. A method as in claim 3, wherein the step of extracting candidate phrases from the text corpus further comprises the step of adding phrase templates andor noncontiguous phrases to the first set of candidate phrases in accordance with one or more predetermined criteria.
10. A method as in claim 9, wherein the step of adding phrase templates andor non-contiguous phrases further comprises the steps of:
creating one or more contexts for each phrase in the first set of candidate phrases, each context for a phrase being a sentence that contains the phrase; and
evaluating words surrounding a phrase in the contexts for that phrase to enable identification of phrase templates andor non-contiguous phrases.
11. A method as in claim 9, wherein the step of adding phrase templates andor non-contiguous phrases further comprises the steps of:
determining the frequency of occurrence in the first set of candidate phrases of word pairs such that each word of the word pair is separated by no more than a predetermined number of words; and
identifying word pairs that occur with greater than a predetermined frequency to enable identification of phrase templates andor non-contiguous phrases containing such word pairs.
12. A method as in claim 11, wherein the predetermined number of words is 5.
13. A method as in claim 11, wherein the predetermined frequency is greater than or equal to the frequency of all but a predetermined number of word pairs.
14. A method as in claim 9, wherein the step of extracting candidate phrases from the text corpus further comprises the step of filtering the added phrase templates andor non-contiguous phrases to eliminate phrase templates andor non-contiguous phrases from the first set of candidate phrases in accordance with one or more predetermined criteria.
15. A method as in claim 14, wherein the step of filtering further comprises the steps of:
determining the words andor word sequences surrounding each phrase template andor non-contiguous phrase with greater than a predetermined frequency;
calculating the mutual information for each phrase template andor non-contiguous phrase and the surrounding words andor word sequences occurring with greater than the predetermined frequency; and
modifying the set of candidate phrases in accordance with the value of mutual information.
16. A method as in claim 14, wherein the step of filtering further comprises the steps of:
determining a main component of each phrase template andor non-contiguous phrase;
determining a sub-component of each phrase template andor non-contiguous phrase;
calculating the probability distribution of the sub-component with respect to other words or phrases in the same context; and
modifying the set of candidate phrases in accordance with the value of the probability distribution.
17. A method as in claim 14, wherein the step of filtering further comprises the step of manually reviewing and eliminating phrase templates andor non-contiguous phrases from the first set of candidate phrases in accordance with one or more predetermined criteria.
18. A method as in claim 2, wherein the step of identifying further comprises the step of eliminating overlapping candidate phrases.
19. A method as in claim 18, wherein the step of eliminating overlapping candidate phrases further comprises the steps of:
dividing the text corpus into first and second complementary subsets of the text corpus;
performing a preliminary parse into phrases of the first subset of the text corpus;
creating a language model of the first subset of the text corpus based on the preliminary parse of the first subset of the text corpus;
performing a parse into phrases of the second in subset of the text corpus based on the language model of the first subset of the text corpus;
creating a language model of the second subset of the text corpus based on the parse of the second subset of the text corpus;
performing a parse into phrases of the first subset of the text corpus based on the language model of the second subset of the text corpus;
comparing the parse of first subset of the text corpus to the parse of the second subset of the text corpus; and
modifying the set of candidate phrases in accordance with the comparison between the parse of first subset of the text corpus and the parse of the second subset of the text corpus.
20. A method as in claim 19, wherein the first and second subsets of the text corpus are of substantially equal size.
21. A method as in claim 19, wherein:
the first subset of the text corpus can be parsed in a plurality of ways; and
the step of performing a preliminary parse of the first subset of the text corpus further comprises the step of selecting the parse that includes the longest candidate phrases as determined in accordance with one or more predetermined criteria.
22. A method as in claim 19, wherein:
the first subset of the text corpus can be parsed in a plurality of ways; and
the step of performing a preliminary parse of the first subset of the text corpus further comprises the step of selecting the parse that minimizes the number of candidate phrases in the preliminary parse.
23. A method as in claim 19, further comprising: alternately repeating the steps of:
creating a language model of one of the first or second subsets of the text corpus based on the preliminary parse of that one of the first or second subsets of the text corpus;
performing a parse into phrases of the other of the first or second subsets of the text corpus based on the language model of the one of the first or second subsets of the text corpus; and
comparing the parse of the other of the first or second subsets of the text corpus to a previous parse of the one of the first or second subsets of the text corpus for which a language model was most recently created; and
terminating the method when the difference between one or more n-gram probability scores for the two compared parses is less than a threshold amount.
24. A method as in claim 1, wherein the text corpus comprises the text of a plurality of electronic mail messages.
25. A method as in claim 1, wherein the text corpus comprises a transcript of spoken discourse.
26. A method as in claim 1, wherein the step of determining the degree of overlap further comprises the step of calculating one or more association coefficients between the contexts of each valid phrase and the contexts of each other valid phrase.
27. A method as in claim 1, wherein the step of determining the degree of overlap further comprises the steps of:
creating a matrix in which each entry indicates the frequency of occurrence of a particular context with a particular valid phrase;
eliminating entries from the matrix having a frequency less than a predetermined magnitude, thereby enabling production of a reduced matrix; and
manipulating the matrix to determine the degree of overlap of the contexts of each valid phrase with the contexts of each other valid phrase.
28. A method as in claim 27, wherein the step of eliminating is performed using singular value decomposition.
29. A method as in claim 1, wherein the step of determining the degree of similarity between valid phrases further comprises the step of determining the degree of syntactic similarity between valid phrases.
30. A method as in claim 1, wherein the step of determining the degree of similarity between valid phrases further comprises the step of determining the degree of pragmatic similarity between valid phrases.
31. A method as in claim 1, wherein the step of determining the degree of similarity between valid phrases further comprises the steps of:
determining two or more of the degree of semantic similarity between valid phrases, the degree of syntactic similarity between valid phrases and the degree of pragmatic similarity between valid phrases; and
combining the determinations of degree of similarity to produce an overall degree of similarity between valid phrases.
32. A method as in claim 1, wherein the step of grouping valid phrases into classes of equivalent valid phrases further comprises the step of identifying equivalent valid phrases as valid phrases having contexts that overlap by greater than a predetermined degree.
33. A method as in claim 32, wherein the step of grouping valid phrases into classes of equivalent valid phrases is performed using one or more agglomerative clustering methods.
34. A method as in claim 1, further comprising the step of arranging valid phrases within a phrase class in order of frequency of occurrence within the text corpus.
35. A method as in claim 1, further comprising the step of tagging each of one or more phrase classes with a descriptor denoting a conceptual representation of the valid phrases contained in the phrase class.
36. A method as in claim 35, wherein the descriptor or descriptors include one or more of speech act classifications for verb phrases, object nouns andor proper names.
37. A method as in claim 1, further comprising the step of normalizing the text corpus before performing the step of identifying.
38. A method as in claim 37, wherein the step of normalizing the text corpus further comprises the step of marking sentence boundaries in the text corpus.
39. A method as in claim 38, wherein the step of normalizing the text corpus further comprises the steps of:
expanding parts of the text corpus that are not full words into full words; and
correcting typographical errors.
40. A method as in claim 1, wherein the plurality of valid phrases includes one or more phrase templates.
41. A method as in claim 40, further comprising the step of including in the phrase thesaurus lexical items that can be used to complete a phrase template.
42. A method as in claim 1, further comprising the step of including in the phrase thesaurus data regarding the frequency of occurrence of valid phrases within the text corpus.
43. A method as in claim 1, wherein a valid phrase can be included in more than one phrase class.
44. A method as in claim 1, wherein the classes of equivalent valid phrases are arranged in a hierarchical structure.
45. A method as in claim 1, wherein the text corpus comprises a transcript of television programming.
46. A method as in claim 1, wherein the text corpus comprises the text of one or more Internet news sources.
47. A non-transitory computer readable storage medium encoded with one or more computer programs for enabling production of a phrase thesaurus, comprising:
instructions for identifying a plurality of valid phrases that occur within a text corpus;
instructions for determining the degree of similarity between the valid phrases, further comprising instructions for determining the degree of semantic similarity, wherein one or more contexts are created for each valid phrase, wherein each context for a valid phrase comprises a word or phrase that appears adjacent to the valid phrase in the text corpus, and wherein the degree of overlap of the contexts of each valid phrase with the contexts of each other valid phrase is determined; and
instructions for grouping the valid phrases into classes of equivalent valid phrases based upon the determined degree of similarity between valid phrases.