JavaScriptMessages
APEC
Asia Pacific Economic Cooperation
News
SiteMap
Login
Glossary
Filter:
#
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
All
Return to List
B
B
B Channel
B1
B1FF*
B2
B3
Back Door
Backbone Site*
Backdoor
Backdoor account
Backdoor Trojan
Backgammon*
Background checks
Background Investigations #
Background Processing
Background*
Backspace And Overstrike*
Back-To-Back Connection
Backup
Backup console
Backup facility
Backup File
Backup Plan
Backup Procedures
Backup retention plan
Backups#
Backward Channel
Backward Combatability*
Backward Recovery
Bacterium
Bad Thing*
BAD*
Balanced Code
Banana Label*
Band
Bandwidth
Bandwidth Compression
Bang
Bang On*
Bang Path*
Banner
Banner*
Bar Code
Bare Metal*
Baroque*
Base
Base Address
Base C4 Systems Security Office
Base Computer Systems Security Officer
Baseband
Baseline
Baselines
Basic Software
Basic Software (nonfunctional)
Basic Status
BASIC*
Basic/Generic Management Issues#
Bastion host
Batch mode
Batch Processing
Batch scripts
Batch*
Baterium
Bathtub Curve*
Baud
Baud Rate
Baudot Code
Bboard*
BBS
BCC
BCD
BCI
BCSSO
Bd
Beam*
Beanie Key*
Bearer Channel
Bearer Service
Beep*
Behavioral scanning
Bell-La Padula
Bell-La Padula Security Model
Bell-LaPadula Model
Bells And Whistles*
Benign
Benign Environment
Benign payload
BER
BERT
Best practices
Beta*
Between-The-Lines Entry
Beyond A1
Bible*
BiCapitalization*
Biff*
Big Gray Wall*
Big Iron*
Big Red Switch*
Big Room, The*
Big Win*
Big-Endian*
Bignum*
Bigot*
Binary
Binary Code
Binary Digit
Binary Element
Binary Exponential Backoff
Binary Notation
Binary Synchronous Communication
Binary-Coded Decimal
Binary-Coded Decimal Code
Binary-Coded Decimal Interchange Code
Binary-Coded Decimal Notation
Binary-Coded Decimal Representation
Binding
Binding/Handshaking#
Biometric
Biometric authentication
Biometrics#
BIOS password
B-ISDN
Bi-Sync
Bit
Bit Bang*
Bit Bashing*
Bit Bucket*
Bit Configuration
Bit Decay*
Bit Density
Bit Error Rate
Bit Error Ratio
Bit Error Ratio Tester
Bit Interval
Bit Inversion
Bit Pairing
Bit Position
Bit Rate
Bit Robbing
Bit Rot*
Bit Slip
Bit Stream Transmission
Bit String
Bit Synchronization
Bit Twiddling*
Bitblt*
Bit-By-Bit Asynchronous Operation
Bit-Count Integrity
BITNET*
Bit-Paired Keyboard*
Bits Per Inch
Bits Per Second
Bits*
Bit-Sequence Independence
Bit-Stepped
Bit-Synchronous Operation
BIU
Bixie*
Black
Black Art*
BLACK Equipment Area (BEA)
Black hat hackers
Black hole
Black Hole*
Black Key
BLACK Line
BLACK Signal
Blanking
Blast*
Blended threats
Blink*
Blinkenlights*
Blinking
Blit*
Blitter*
Blivet*
BLOB*
Block
Block Character
Block Check
Block Check Character
Block Code
Block Diagram
Block encryption
Block Length
Block Parity
Block Transfer
Block Transfer Attempt
Block Transfer Computations*
Block Transfer Efficiency
Block Transfer Failure
Block Transfer Rate
Block Transfer Time
Block-Error Probability
Blocking
Blocking Criterion
Blocking Factor
Blocking Formulas
Block-Loss Probability
Block-Misdelivery Probability
Blow An EPROM*
Blow Away*
Blow Out*
Blow Past*
Blow Up*
BLT*
Blue Book*
Body
Border firewalls
Bourne Shell and Bourne Again Shell (BASH)
BPI
BPOC
BPS
BQS*
BR
Breach
Bridge
Broken Arrow*
Broken*
Broket*
Brooks's Law*
Browsing
BRS*
Brute Force And Ignorance*
Brute Force*
Brute-force guessing
BSA
BSD*
BSE
Bubble Sort*
Bucky Bits*
Budget
Budget And Accounting Act
Budget And Accounting Procedures Act Of 1950
Buffer
Buffer overflow
Buffer Overflow*
Bug
Bugging
Bulk Encryption
Bulletproof*
Bum*
Bump*
Burble*
Buried Treasure*
Burn-In Period*
Burst Page*
Burst Transmission#
Bus
Bus Interface Unit
Bus Topology
Business Aspects Of Information Security#
Business champions
Business continuity plan
Business process analysis
Busy Back
Busy-Wait*
Buzz*
BW
BWQ*
By Hand*
Byte
Brute Force*
adj. Describes a primitive programming style, one in which the programmer relies on the computer's processing power instead of using his or her own intelligence to simplify the problem, often ignoring problems of scale and applying naive methods suited to small problems directly to large ones. The term can also be used in reference to programming style brute-force programs are written in a heavyhanded, tedious way, full of repetition and devoid of any elegance or useful abstraction (see also brute force and ignorance). The canonical example of a brute-force algorithm is associated with the `traveling salesman problem' (TSP), a classical NP-hard problem Suppose a person is in, say, Boston, and wishes to drive to N other cities. In what order should the cities be visited in order to minimize the distance travelled? The brute-force method is to simply generate all possible routes and compare the distances; while guaranteed to work and simple to implement, this algorithm is clearly very stupid in that it considers even obviously absurd routes (like going from Boston to Houston via San Francisco and New York, in that order). For very small N it works well, but it rapidly becomes absurdly inefficient when N increases (for N = 15, there are already 1,307,674,368,000 possible routes to consider, and for N = 1000 -- well, see bignum). Sometimes, unfortunately, there is no better general solution than brute force. See also NP-.
A more simple-minded example of brute-force programming is finding the smallest number in a large list by first using an existing program to sort the list in ascending order, and then picking the first number off the front. Whether brute-force programming should actually be considered stupid or not depends on the context; if the problem is not terribly big, the extra CPU time spent on a brute-force solution may cost less than the programmer time it would take to develop a more `intelligent' algorithm. Additionally, a more intelligent algorithm may imply more long-term complexity cost and bug-chasing than are justified by the speed improvement. Ken Thompson, co-inventor of UNIX, is reported to have uttered the epigram "When in doubt, use brute force". He probably intended this as a ha ha only serious, but the original UNIX kernel's preference for simple, robust, and portable algorithms over brittle `smart' ones does seem to have been a significant factor in the success of that OS. Like so many other tradeoffs in software design, the choice between brute force and complex, finely-tuned cleverness is often a difficult one that requires both engineering savvy and delicate esthetic judgment.